You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(33) |
Nov
(51) |
Dec
(134) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(18) |
Feb
(11) |
Mar
(1) |
Apr
(55) |
May
(29) |
Jun
(1) |
Jul
(2) |
Aug
(5) |
Sep
(4) |
Oct
|
Nov
|
Dec
(6) |
2004 |
Jan
(1) |
Feb
(11) |
Mar
(4) |
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
(27) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Sven R. <rei...@ma...> - 2002-11-23 16:39:42
|
On Sat, 23 Nov 2002, Baptiste Lepilleur wrote: > > I'd like if you could double check the list of 'scope generator' > statement. I've found: > > if ( <scopeA ) <scopeB/> else <scopeC/> </scopeA> > while ( <scopeA ) <scopeB/> </scopeA> > for ( <scopeA; ... ;... ) <scopeB/> </scopeA> > switch ( <scopeA ) <scopeB/> </scopeA> > { <scopeA/> } > > { > int x =3,<scopeX> y=2<scopeY>; > .... > </scopeY></scopeX> > } > Declarations in if and while statements seem a bit suspicious to me; at least they are bad style. The only possible application for me would be something like if (int result = complicatedFunction()) { process(result); }; However, I don't think this is legal since a declaration is not an expression. On the other hand, gcc compiles this without any problems or warnings. I have a different (possibly simpler) approach to dealing with scopes in finding references to local variables, which I'll describe on the Wiki. In short, we can deal with this without introducing scope objects, just exploiting the recursive descent behavior of the variable finder. Sven. -- Sven Reichard Dept. of Math. Sci. University of Delaware rei...@ma... |
From: Baptiste L. <gai...@fr...> - 2002-11-23 12:28:01
|
I've added a wiki page that give a overview of the solution I've come up with. Assignation of scope to 'parent generator statement' is already implemented and being tested (ScopeGeneratorTest). It's a lot less complex than I though It would be, but that's for the better. The trickiest part will probably be the local scope identifier resolution. I'd like if you could double check the list of 'scope generator' statement. I've found: if ( <scopeA ) <scopeB/> else <scopeC/> </scopeA> while ( <scopeA ) <scopeB/> </scopeA> for ( <scopeA; ... ;... ) <scopeB/> </scopeA> switch ( <scopeA ) <scopeB/> </scopeA> { <scopeA/> } { int x =3,<scopeX> y=2<scopeY>; .... </scopeY></scopeX> } Can you think of any other one ? (outside of enum, class and struct which are not supported at the current time). Baptiste. --- Baptiste Lepilleur <gai...@fr...> http://gaiacrtn.free.fr/ |
From: Baptiste L. <gai...@fr...> - 2002-11-20 09:11:44
|
Thanks. Do you know if in the following declarations: 1) the temporary is visible after the if statement (I don't think so, but...) 2) if the scope of the temporary declared in the condition is the same as the scope of the temporary declared in the then/else/iteration statement if ( int x = 3, y = x ) { int x; // is it legal ? (different scope ?) } // is x visible here ? while ( int x = 3, y = x ) { int x; // is it legal ? (different scope ?) } // is x visible here ? A tricky one to deal with will be the 'for' statement, since all compilers do not follow the standard (and gcc is even trickier since it allows both non-conformant usage (with a warning) and conformant usage... There is also the matter of the using declaration, which promise to be 'fun' to deal with... Baptiste. --- Original Message ----- From: "Rohith Rajagopal" <man...@ho...> To: <cpp...@li...> Sent: Wednesday, November 20, 2002 6:23 AM Subject: [Cpptool-develop] Abt Sven's question on scope > This is what the ANSI C++ std has to say: > http://www.comnets.rwth-aachen.de/doc/c++std/basic.html > The example below will probably answer the question. > > 1 Every name is introduced in some portion of program text called a > declarative region, which is the largest part of the program in which that > name is valid, that is, in which that name may be used as an > unqualified name to refer to the same entity. In general, each particular > name is valid only within some possibly discontiguous portion of program > text called its scope. To determine the scope of a declaration, it is > sometimes convenient to refer to the potential scope of a declaration. The > scope of a declaration is the same as its potential scope unless the > potential scope contains another declaration of the same name. In that > case, the potential scope of the declaration in the inner (contained) > declarative region is excluded from the scope of the declaration in the > outer (containing) declarative region. > > 2 [Example: in > int j = 24; > int main() > { > int i = j, j; > j = 42; > } > the identifier j is declared twice as a name (and used twice). The > declarative region of the first j includes the entire example. The > potential scope of the first j begins immediately after that j and > extends to the end of the program, but its (actual) scope excludes the text > between the , and the }. The declarative region of the second > declaration of j (the j immediately before the semicolon) includes all the > text between { and }, but its potential scope excludes the declaration of > i. The scope of the second declaration of j is the same as its potential > scope. ] |
From: Baptiste L. <gai...@fr...> - 2002-11-20 09:00:24
|
----- Original Message ----- From: "Sven Reichard" <rei...@ma...> To: "CppTool Mailing List" <Cpp...@li...> Sent: Tuesday, November 19, 2002 4:56 PM Subject: Re: [Cpptool-develop] update > On Tue, 19 Nov 2002, Baptiste Lepilleur wrote: > > Don't hesiate to express your doubt, I've never eaten anyone ;-) > ok :) > > > > > are starting to look good :) > > Indeed. The next step will be dealing with scope I guess. I'll try > > finalizing the vc6addin before though. There is no better test than > > real-life usage ;-). > > Fine with me. I'm currently quite busy with my thesis, so my input will be > minimal for the next week or so. However, I'll think about a simple QT > interface. > > About the scope: I assume you refer to another variable with the same name > being defined in a subscope. This could be dealt with by > - detecting such a variable; > - renaming that "inner variable" to some silly name; > - renaming the outer variable; > - restoring the original name for the inner variable. Actually, I'd rather deal with it in a cleaner way. We will need to correctly resolve scope in the future to apply some refactorings. Having a working solution at function body level will make it easier to find a solution working at class level, and later at any level... The step I have in my head at the current time are more along: - assign a scope to each 'scope creator' statement (not well defined, but something like for, if, while, declaration, ...) and create a scope 'hierarchy' (will probably become a graph when extended to deal with global variable, anonymous namespace and class) - assign a scope to each declared variable (usually from the variable-decl-statement to the end of the parent node, with the exception of the variable initialization on declaration) - resolve the scope of each variable occurrences (local-scope-identifier and variable-identifier node). Scope is 'not local' if the variable is unknown (might be a parameter, class member, or global). - apply the renaming only on variable with the same scope as the renamed temporary. I'll try to add a CodeAnalysisForRefactoring page to the wiki today. Baptiste. > (However, even if we don't deal with this case, it won't break the > program.) > The only thing we need to be careful about is the outer variable appearing > in the initializer of the inner variable. I still have to check carefully > if that is correct code. I mean something like this: > { > double x = 3.14; > { > int x = std::floor(x); > } > } > > In this case, the argument to floor is really the outer variable. > > Cheers, > Sven. > > -- > Sven Reichard > Dept. of Math. Sci. > University of Delaware > rei...@ma... > > > > ------------------------------------------------------- > This sf.net email is sponsored by: To learn the basics of securing > your web site with SSL, click here to get a FREE TRIAL of a Thawte > Server Certificate: http://www.gothawte.com/rd524.html > _______________________________________________ > Cpptool-develop mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cpptool-develop > |
From: Rohith R. <man...@ho...> - 2002-11-20 05:24:02
|
This is what the ANSI C++ std has to say: http://www.comnets.rwth-aachen.de/doc/c++std/basic.html The example below will probably answer the question. 1 Every name is introduced in some portion of program text called a declarative region, which is the largest part of the program in which that name is valid, that is, in which that name may be used as an unqualified name to refer to the same entity. In general, each particular name is valid only within some possibly discontiguous portion of program text called its scope. To determine the scope of a declaration, it is sometimes convenient to refer to the potential scope of a declaration. The scope of a declaration is the same as its potential scope unless the potential scope contains another declaration of the same name. In that case, the potential scope of the declaration in the inner (contained) declarative region is excluded from the scope of the declaration in the outer (containing) declarative region. 2 [Example: in int j = 24; int main() { int i = j, j; j = 42; } the identifier j is declared twice as a name (and used twice). The declarative region of the first j includes the entire example. The potential scope of the first j begins immediately after that j and extends to the end of the program, but its (actual) scope excludes the text between the , and the }. The declarative region of the second declaration of j (the j immediately before the semicolon) includes all the text between { and }, but its potential scope excludes the declaration of i. The scope of the second declaration of j is the same as its potential scope. ] _________________________________________________________________ The new MSN 8: smart spam protection and 2 months FREE* http://join.msn.com/?page=features/junkmail |
From: Sven R. <rei...@ma...> - 2002-11-19 15:56:25
|
On Tue, 19 Nov 2002, Baptiste Lepilleur wrote: > Don't hesiate to express your doubt, I've never eaten anyone ;-) ok :) > > > are starting to look good :) > Indeed. The next step will be dealing with scope I guess. I'll try > finalizing the vc6addin before though. There is no better test than > real-life usage ;-). Fine with me. I'm currently quite busy with my thesis, so my input will be minimal for the next week or so. However, I'll think about a simple QT interface. About the scope: I assume you refer to another variable with the same name being defined in a subscope. This could be dealt with by - detecting such a variable; - renaming that "inner variable" to some silly name; - renaming the outer variable; - restoring the original name for the inner variable. (However, even if we don't deal with this case, it won't break the program.) The only thing we need to be careful about is the outer variable appearing in the initializer of the inner variable. I still have to check carefully if that is correct code. I mean something like this: { double x = 3.14; { int x = std::floor(x); } } In this case, the argument to floor is really the outer variable. Cheers, Sven. -- Sven Reichard Dept. of Math. Sci. University of Delaware rei...@ma... |
From: Baptiste L. <gai...@fr...> - 2002-11-19 12:31:46
|
----- Original Message ----- From: "Sven Reichard" <rei...@ma...> To: "CppTool Mailing List" <Cpp...@li...> Sent: Saturday, November 16, 2002 6:30 PM Subject: Re: [Cpptool-develop] update > On Sat, 16 Nov 2002, Baptiste Lepilleur wrote: > > > I'm just done adding the ExpressionMutator to the MaxLODMutator. astdump now > > show identifiers in expressions. I also fixed a serious bug: the starting > > index of the identifier node was based on the expression starting index > > instead of the source (the test that was supposed to detect this was buggy). > > I kind of suspected that this was a bug, but I didn't feel confident > enough to change it. I'll check out the sources when I get to it. Things Don't hesiate to express your doubt, I've never eaten anyone ;-) > are starting to look good :) Indeed. The next step will be dealing with scope I guess. I'll try finalizing the vc6addin before though. There is no better test than real-life usage ;-). Baptiste. > > Sven. |
From: Sven R. <rei...@ma...> - 2002-11-16 17:30:38
|
On Sat, 16 Nov 2002, Baptiste Lepilleur wrote: > I'm just done adding the ExpressionMutator to the MaxLODMutator. astdump now > show identifiers in expressions. I also fixed a serious bug: the starting > index of the identifier node was based on the expression starting index > instead of the source (the test that was supposed to detect this was buggy). I kind of suspected that this was a bug, but I didn't feel confident enough to change it. I'll check out the sources when I get to it. Things are starting to look good :) Sven. |
From: Baptiste L. <gai...@fr...> - 2002-11-16 15:31:31
|
Well, finally added the IdentifierVisitor. I added a function to the ToolsBox which search for a specific identifier that way. I refactored RenameTempRefactoring to use it. All tests are still passing. Baptiste. |
From: Baptiste L. <gai...@fr...> - 2002-11-16 11:26:23
|
I'm just done adding the ExpressionMutator to the MaxLODMutator. astdump now show identifiers in expressions. I also fixed a serious bug: the starting index of the identifier node was based on the expression starting index instead of the source (the test that was supposed to detect this was buggy). I fixed the RenameTempRefactoring that was based on this bug. Node indexes are always source based. I also fixed another bug revealed by using astdump: true, false and this were recognized as identifier with they are not. Also, the ExpressionMutator now creates localScopeIdentifier child nodes instead of variableIdentifier child nodes. Identifiers found in an expression could also be member functions, hence the renaming. Baptiste. ----- Original Message ----- From: "Baptiste Lepilleur" <gai...@fr...> To: "Sven Reichard" <rei...@ma...>; "CppTool Mailing List" <Cpp...@li...> Sent: Saturday, November 16, 2002 9:09 AM Subject: Re: [Cpptool-develop] update > I'll take the visitor. It's really just like the VariableDeclVisitor. > > Baptiste. > > ----- Original Message ----- > From: "Sven Reichard" <rei...@ma...> > To: "CppTool Mailing List" <Cpp...@li...> > Sent: Wednesday, November 13, 2002 8:18 PM > Subject: [Cpptool-develop] update > > > > I got rename temp to use the expr mutator. As a consequence, all existing > > tests pass now. However, the code is a bit of a mess; I'll try to clean it > > up. This should probably use a node/property visitor, but their mechanics > > isn't clear to me yet. Also, I suspect it won't work with some types of > > statements; tested so far are declarations, return, and expression > > statements. > > > > Cheers, > > Sven. > > > > -- > > Sven Reichard > > Dept. of Math. Sci. > > University of Delaware > > rei...@ma... > > > > > > > > ------------------------------------------------------- > > This sf.net email is sponsored by: Are you worried about > > your web server security? Click here for a FREE Thawte > > Apache SSL Guide and answer your Apache SSL security > > needs: http://www.gothawte.com/rd523.html > > _______________________________________________ > > Cpptool-develop mailing list > > Cpp...@li... > > https://lists.sourceforge.net/lists/listinfo/cpptool-develop > > > > > > > > > ------------------------------------------------------- > This sf.net email is sponsored by: To learn the basics of securing > your web site with SSL, click here to get a FREE TRIAL of a Thawte > Server Certificate: http://www.gothawte.com/rd524.html > _______________________________________________ > Cpptool-develop mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cpptool-develop > > |
From: Baptiste L. <gai...@fr...> - 2002-11-16 08:04:05
|
I'll take the visitor. It's really just like the VariableDeclVisitor. Baptiste. ----- Original Message ----- From: "Sven Reichard" <rei...@ma...> To: "CppTool Mailing List" <Cpp...@li...> Sent: Wednesday, November 13, 2002 8:18 PM Subject: [Cpptool-develop] update > I got rename temp to use the expr mutator. As a consequence, all existing > tests pass now. However, the code is a bit of a mess; I'll try to clean it > up. This should probably use a node/property visitor, but their mechanics > isn't clear to me yet. Also, I suspect it won't work with some types of > statements; tested so far are declarations, return, and expression > statements. > > Cheers, > Sven. > > -- > Sven Reichard > Dept. of Math. Sci. > University of Delaware > rei...@ma... > > > > ------------------------------------------------------- > This sf.net email is sponsored by: Are you worried about > your web server security? Click here for a FREE Thawte > Apache SSL Guide and answer your Apache SSL security > needs: http://www.gothawte.com/rd523.html > _______________________________________________ > Cpptool-develop mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cpptool-develop > > |
From: Sven R. <rei...@ma...> - 2002-11-13 19:18:55
|
I got rename temp to use the expr mutator. As a consequence, all existing tests pass now. However, the code is a bit of a mess; I'll try to clean it up. This should probably use a node/property visitor, but their mechanics isn't clear to me yet. Also, I suspect it won't work with some types of statements; tested so far are declarations, return, and expression statements. Cheers, Sven. -- Sven Reichard Dept. of Math. Sci. University of Delaware rei...@ma... |
From: Baptiste L. <gai...@fr...> - 2002-11-09 08:50:31
|
----- Original Message ----- From: "Sven Reichard" <rei...@ma...> To: "CppTool Mailing List" <Cpp...@li...> Sent: Friday, November 08, 2002 10:31 PM Subject: Re: [Cpptool-develop] ExpressionMutator > Ok, I'll see if that helps. In the meantime I'm improving the parsing w/o > using this mutator. I got one more of the rename temp tests to pass, > although it broke something else... I'll fix that before committing. OK. > Sven. > > > On Fri, 8 Nov 2002, Baptiste Lepilleur wrote: > > Secondly, the expression seen as a list of token is analysed and we search > > the pattern that match an identifier (an identifier token which is neither > > preceeded nor followed by a '.', '->' or '::'). > > Why not followed by a '.' or '->'? Did not though much when writting the code. I added more tests (and refactored some). It should now behave as it is supposed to. Baptiste. > > -- > Sven Reichard > Dept. of Math. Sci. > University of Delaware > rei...@ma... |
From: Sven R. <rei...@ma...> - 2002-11-08 21:31:55
|
Ok, I'll see if that helps. In the meantime I'm improving the parsing w/o using this mutator. I got one more of the rename temp tests to pass, although it broke something else... I'll fix that before committing. Sven. On Fri, 8 Nov 2002, Baptiste Lepilleur wrote: > Secondly, the expression seen as a list of token is analysed and we search > the pattern that match an identifier (an identifier token which is neither > preceeded nor followed by a '.', '->' or '::'). Why not followed by a '.' or '->'? -- Sven Reichard Dept. of Math. Sci. University of Delaware rei...@ma... |
From: Baptiste L. <gai...@fr...> - 2002-11-08 21:21:59
|
----- Original Message ----- From: "Sven Reichard" <rei...@ma...> To: "CppTool Mailing List" <Cpp...@li...> Sent: Friday, November 08, 2002 8:45 PM Subject: [Cpptool-develop] ExpressionMutator > Baptiste, > > I don't understand your code. Could you for example explain the parameters > of the ExpressionMutator constructor? Its called from a mutator such as DeclarationOrExpressionMutator (just like the VariableDeclMutator), except that I moved the computation of the start/end source range into the constructor since it makes no sense passing anything else. I added a test to help (and fixed a bug). The parsing is done in two steps. Firstly, the expression is parsed and for each 'token' in the expression, its range and token type are stored. Secondly, the expression seen as a list of token is analysed and we search the pattern that match an identifier (an identifier token which is neither preceeded nor followed by a '.', '->' or '::'). I do like to think that this makes the code a lot clearer (at least much more that the VariableDeclMutator). A mutator (like DeclarationOrExpressionMutator ) still need to be added and the ASTNodeTypes updated to help 'finding' identifier. Also, the variable declaration statement node structure need to be changed to use a variable-identifier instead of a variable-name. Baptiste. > > Sven > > -- > Sven Reichard > Dept. of Math. Sci. > University of Delaware > rei...@ma... |
From: Sven R. <rei...@ma...> - 2002-11-08 19:45:13
|
Baptiste, I don't understand your code. Could you for example explain the parameters of the ExpressionMutator constructor? Sven -- Sven Reichard Dept. of Math. Sci. University of Delaware rei...@ma... |
From: Baptiste L. <gai...@fr...> - 2002-11-07 07:48:32
|
The Mock*** classes are mock objects created for testing only. They are used to check for some expectations (http://www.mockobjects.com/). There is some examples of usage in TransformListTest and ReplaceTextTransformTest. The implementation in include/mock/Expectations.h is extremely simple (convert all calls into a string and check against the expected call list), but it's enough for what we are doing. Baptiste. |
From: Baptiste L. <gai...@fr...> - 2002-11-07 07:41:36
|
I added a LineBasedTextDocument which adapts TextDocument by converting index based source range in line/column based source range. It still need more testing though, but it can be done. This means that SourceLocationRange & SourceRange will probably change to ASTNodeRange and int, which will make thinks somewhat easier for us. Baptiste. |
From: Baptiste L. <gai...@fr...> - 2002-11-07 07:33:49
|
----- Original Message ----- From: "Sven Reichard" <rei...@ma...> To: "CppTool Mailing List" <Cpp...@li...> Sent: Thursday, November 07, 2002 12:27 AM Subject: [Cpptool-develop] Re: [Cpptool-develop]Identifying variable occurrences (was: tests added) > On Wed, 6 Nov 2002, Baptiste Lepilleur wrote: > > > Completly forgot about the fact that there might be spaces around '::'... > > That's why you should have at least 2 developers :) (if you can't > pair-program) You got it ;-) > > Instead of parsing for those, I was thinking of moving the identifier > > parsing at a level below expression. I haven't though too much about it yet, > > but it would be something like: > > <snip> > > This would allow the refactoring component to work at a higher level, just > > like for the variable declarations, using a visitor for example. > > > > What do you think ? > > I think that for now it is sufficient to check that we match a complete > identifier, and if it is preceded by a scope operator. Let's think about > more complicated approaches later. So we only do the [variable-identifier] parsing for now. That's sound fine with me. > BTW, did you manage to set up your public key pair? For me it works nicely > now. No, I never managed to get it working (even with just open-ssh) :-( Baptiste. > > -- > Sven Reichard > Dept. of Math. Sci. > University of Delaware > rei...@ma... |
From: Sven R. <rei...@ma...> - 2002-11-06 23:27:09
|
On Wed, 6 Nov 2002, Baptiste Lepilleur wrote: > Completly forgot about the fact that there might be spaces around '::'... That's why you should have at least 2 developers :) (if you can't pair-program) > Instead of parsing for those, I was thinking of moving the identifier > parsing at a level below expression. I haven't though too much about it yet, > but it would be something like: > <snip> > This would allow the refactoring component to work at a higher level, just > like for the variable declarations, using a visitor for example. > > What do you think ? I think that for now it is sufficient to check that we match a complete identifier, and if it is preceded by a scope operator. Let's think about more complicated approaches later. BTW, did you manage to set up your public key pair? For me it works nicely now. -- Sven Reichard Dept. of Math. Sci. University of Delaware rei...@ma... |
From: Baptiste L. <gai...@fr...> - 2002-11-06 22:14:26
|
Completly forgot about the fact that there might be spaces around '::'... Instead of parsing for those, I was thinking of moving the identifier parsing at a level below expression. I haven't though too much about it yet, but it would be something like: Format: [node-type] => pattern node format specification (see ASTStructure in doc/ for the format) [qualified-identifier] => '::' identifier | '::'? (identifier '::')+ identifiier member-by-reference-identifier => any-identifier '.' identifier member-by-pointer-identifier => any-identifier '->' identifier locale-identifier // local variable and parameter identifiers => identifier // when nothing else is matched Notes that some might be recursive: "vector.origin.x" matches member-by-reference-identifier twice .The produced AST would probably be something like: [member-by-reference-identifier] object-identifier => [{any-identfiier}] member-identifier => identifier In our case: [member-by-reference-identifier] object-identifier => [member-by-reference-identifier] object-identifier => [identifier] = "vector" member-identifier => [identifier] = "origin" member-identifier => [identifier] = "x" Later, we could add: function-call => any-identifier '(' ... ')' where any-identifier is any of the identifier node-type defined above. This would allow the refactoring component to work at a higher level, just like for the variable declarations, using a visitor for example. What do you think ? Baptiste. ----- Original Message ----- From: "Sven Reichard" <rei...@ma...> To: "CppTool Mailing List" <Cpp...@li...> Sent: Wednesday, November 06, 2002 5:35 PM Subject: [Cpptool-develop] tests added > > I added a few more tests for rename temp. It looks that so far it does a > simple text replacement (after extracting the correct variable name from > the declaration). I could make some more of these tests run, but only with > some crude hacks. What do you think of one further parsing step that > splits an expression into tokens (applied only when it contains the string > we're interested in)? Tokens so far are just legal identifier names, "::", > "->" and "."; the rest can be kept as source code. > > Sven. > > -- > Sven Reichard > Dept. of Math. Sci. > University of Delaware > rei...@ma... > > > > > ------------------------------------------------------- > This sf.net email is sponsored by: See the NEW Palm > Tungsten T handheld. Power & Color in a compact size! > http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0001en > _______________________________________________ > Cpptool-develop mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cpptool-develop > > |
From: Sven R. <rei...@ma...> - 2002-11-06 16:36:01
|
I added a few more tests for rename temp. It looks that so far it does a simple text replacement (after extracting the correct variable name from the declaration). I could make some more of these tests run, but only with some crude hacks. What do you think of one further parsing step that splits an expression into tokens (applied only when it contains the string we're interested in)? Tokens so far are just legal identifier names, "::", "->" and "."; the rest can be kept as source code. Sven. -- Sven Reichard Dept. of Math. Sci. University of Delaware rei...@ma... |
From: Rohith R. <man...@ho...> - 2002-11-05 12:48:43
|
>Where did you had the throw() exactly ? This is a CppUnit portability issue >that I need to fix in the CppUnit project tree. Did you add the destructor >? The initial error was in DynamicLibraryManagerException. This class inherits std::runtime_error. Since there is no destructor defined for this class, I guess the compiler writes its own default destructor. The default destructors signature must be different from the std::runtime_error::~runtime_error. So I've added a destructor declaration with an empty definition in the .cpp file. >Hmm, This is a copy of CppUnit 1.9.10 tarball (without some of the example >and GUI testrunners). On Windows, this is used so that it can compile >nearly >'out of the box' (you still need to install boost, though). The building of >the CppUnit library is integrated with the VC++ projects. Can't this be >done >on Unix (installing the lib localy in the build/ dir and using it from >there) ? Should be possible. I'll try. Thank you, Baptiste and Sven for all your help. Regards, Rohith. _________________________________________________________________ Unlimited Internet access -- and 2 months free! Try MSN. http://resourcecenter.msn.com/access/plans/2monthsfree.asp |
From: Sven R. <rei...@ma...> - 2002-11-04 22:14:16
|
Just to let you know that my life with CVS is getting easier! I can access it directly from linux. Sven. -- Sven Reichard Dept. of Math. Sci. University of Delaware rei...@ma... |
From: Sven R. <rei...@ma...> - 2002-11-04 19:24:43
|
On Mon, 4 Nov 2002, Baptiste Lepilleur wrote: > > Hmm, This is a copy of CppUnit 1.9.10 tarball (without some of the example > and GUI testrunners). On Windows, this is used so that it can compile nearly > 'out of the box' (you still need to install boost, though). The building of > the CppUnit library is integrated with the VC++ projects. Can't this be done > on Unix (installing the lib localy in the build/ dir and using it from > there) ? > > Baptiste. I'm not exactly sure you can do this with shared libraries (i.e., dll's). You can certainly do this with the static libraries. I'll update the makefiles as soon as I have solved my current computer problems (installing a hardware modem to have internet access under Linux). Sven. -- Sven Reichard Dept. of Math. Sci. University of Delaware rei...@ma... |