You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by GitBox <gi...@apache.org> on 2020/04/11 17:22:51 UTC

[GitHub] [incubator-nuttx] patacongo opened a new pull request #766: Remove CONFIG_CAN_PASS_STRUCT

patacongo opened a new pull request #766: Remove CONFIG_CAN_PASS_STRUCT
URL: https://github.com/apache/incubator-nuttx/pull/766
 
 
   This commit resolves issue  #620 
   
   Remove CONFIG_CAN_PASS_STRUCTS #620
   
   The configuration option CONFIG_CAN_PASS_STRUCTS was added many years ago to support an old version of the SDCC compiler. That compiler is currently used only with the Z80 and Z180 targets. The limitation of that old compiler was that it could not pass structures or unions as either inputs or outputs. For example:
   
       #ifdef CONFIG_CAN_PASS_STRUCTS
       struct mallinfo mallinfo(void);
       #else
       int      mallinfo(FAR struct mallinfo *info);
       #endif
   
   And even leads to violation of a few POSIX interfaces like:
   
       #ifdef CONFIG_CAN_PASS_STRUCTS
       int  sigqueue(int pid, int signo, union sigval value);
       #else
       int  sigqueue(int pid, int signo, FAR void *sival_ptr);
       #endif
   
   This breaks the 1st INVIOLABLES rule:
   
   Strict POSIX compliance
   -----------------------
   
     o Strict conformance to the portable standard OS interface as defined at
       OpenGroup.org.
     o A deeply embedded system requires some special support.  Special
       support must be minimized.
     o The portable interface must never be compromised only for the sake of
       expediency.
     o Expediency or even improved performance are not justifications for
      violation of the strict POSIX interface
   
   Also, it appears that the current SDCC compilers have resolve this issue and so, perhaps, this is no longer a problem: z88dk/z88dk#1132
   
   NOTE:  This commit cannot pass the PR checks because it depends on matching changes to the apps/ directory.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [incubator-nuttx] patacongo commented on issue #766: Remove CONFIG_CAN_PASS_STRUCT

Posted by GitBox <gi...@apache.org>.
patacongo commented on issue #766: Remove CONFIG_CAN_PASS_STRUCT
URL: https://github.com/apache/incubator-nuttx/pull/766#issuecomment-612475371
 
 
   Merge-related notes:
   
   1. This commit cannot pass the PR checks because it depends on matching changes to the apps/ directory.
   
   2. Numerous "Mixed case identifier" errors in arch/arm/src/cxd56xx/cxd56_gnss.c were not fixed because this problem is of much larger scope than this file.
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [incubator-nuttx] patacongo edited a comment on issue #766: Remove CONFIG_CAN_PASS_STRUCT

Posted by GitBox <gi...@apache.org>.
patacongo edited a comment on issue #766: Remove CONFIG_CAN_PASS_STRUCT
URL: https://github.com/apache/incubator-nuttx/pull/766#issuecomment-612475371
 
 
   Merge-related notes:
   
   1. This commit cannot pass the PR checks because it depends on matching changes to the apps/ directory.  That is PR apps/ PR 170 
   
   NOTE:  This PR depends apps PR 170, but apps PR 170 should not depend on this PR.  Therefore the strategy here is (1) merge apps/ PR 170 first, then this PR should pass its checks (with the following exception).
   
   2. Numerous "Mixed case identifier" errors in arch/arm/src/cxd56xx/cxd56_gnss.c were not fixed because this problem is of much larger scope than this file.
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [incubator-nuttx] Ouss4 merged pull request #766: Remove CONFIG_CAN_PASS_STRUCT

Posted by GitBox <gi...@apache.org>.
Ouss4 merged pull request #766: Remove CONFIG_CAN_PASS_STRUCT
URL: https://github.com/apache/incubator-nuttx/pull/766
 
 
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services