List Info

Thread: New - compilation with strict aliasing rules is broken




New - compilation with strict aliasing rules is broken
user name
2008-04-12 23:38:16
http://rapidsvn.tigris.org/issues/show_bug.cgi?id=588
                 Issue #|588
                 Summary|compilation with strict aliasing
rules is broken
               Component|rapidsvn
                 Version|0.9.6
                Platform|PC
              OS/Version|Linux
                     URL|
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|PATCH
                Priority|P3
            Subcomponent|svncpp
             Assigned to|issuesrapidsvn
             Reported by|rion






------- Additional comments from riontigris.org Sat Apr 12
21:38:16 -0700 2008 -------
here is patch

--- src/svncpp/client_status.cpp.orig   2008-03-08
03:05:30.000000000 +0500
+++ src/svncpp/client_status.cpp        2008-04-08
00:48:41.000000000 +0600
 -66,14
+66,18                                                      
  
            hi != NULL;                                     
              
            hi = apr_hash_next (hi))                        
              
       {                                                    
              
-        char *path;                                        
              
+        typedef union {                                    
              
+            char *cpath;
+            void *vpath;
+        } upath;
+        upath path;
         void *val;
-        apr_hash_this (hi, (const void **)&path, NULL,
&val);
+        apr_hash_this (hi, (const void **)&path.vpath,
NULL, &val);

         svn_log_changed_path_t *log_item =
reinterpret_cast<svn_log_changed_path_t *> (val);

         entry.changedPaths.push_back (
-              LogChangePathEntry (path,
+              LogChangePathEntry (path.cpath,
                                   log_item->action,
                                  
log_item->copyfrom_path,
                                  
log_item->copyfrom_rev) );

------------------------------------------------------------
---------
To unsubscribe, e-mail: issues-unsubscriberapidsvn.tigris.org
For additional commands, e-mail: issues-helprapidsvn.tigris.org


compilation with strict aliasing rules is broken
user name
2008-04-14 07:34:02
http://rapidsvn.tigris.org/issues/show_bug.cgi?id=588



User rion changed the following:

                What    ld value 
               |New value
============================================================
====================
     Attachment is patch|                          |Created
an attachment (id=
                        |                          |210)
patch

------------------------------------------------------------
--------------------




------- Additional comments from riontigris.org Mon Apr 14
05:34:01 -0700 2008 -------
Created an attachment (id=210)
patch


------------------------------------------------------------
---------
To unsubscribe, e-mail: issues-unsubscriberapidsvn.tigris.org
For additional commands, e-mail: issues-helprapidsvn.tigris.org


compilation with strict aliasing rules is broken
user name
2008-04-14 14:06:50
http://rapidsvn.tigris.org/issues/show_bug.cgi?id=588






------- Additional comments from xelarellumtigris.org Mon Apr 14 12:06:50 -0700 2008 -------
This looks more like we are trying to trick the compiler.
What about the way
this is solved in subversion?:
http://www.google.de/codesearch?q=+apr_hash_this+
show:k4srOQQfoCY:nesdci-ocyk:WtdY6zNxRwQ&sa=N&cd=8&a
mp;ct=rc&cs_p=http://www.minix3.org/software/subversion-
1.4.0.tar.bz2&cs_f=subversion-1.4.0/subversion/libsvn_wc
/props.c#first


------------------------------------------------------------
---------
To unsubscribe, e-mail: issues-unsubscriberapidsvn.tigris.org
For additional commands, e-mail: issues-helprapidsvn.tigris.org


compilation with strict aliasing rules is broken
user name
2008-04-14 14:27:02
http://rapidsvn.tigris.org/issues/show_bug.cgi?id=588






------- Additional comments from riontigris.org Mon Apr 14
12:27:02 -0700 2008 -------
Alexander Mueller, this trick is from some manual. i don't
remember which.

but with your suggestion LogChangePathEntry must be
rewritten to use const void *.

------------------------------------------------------------
---------
To unsubscribe, e-mail: issues-unsubscriberapidsvn.tigris.org
For additional commands, e-mail: issues-helprapidsvn.tigris.org


[1-4]

about | contact  Other archives ( Real Estate discussion Medical topics )