pkarashchenko commented on PR #6606:
URL: https://github.com/apache/incubator-nuttx/pull/6606#issuecomment-1183598893

   @ALTracer Yes and that is exactly what I was posting in my comment above. 
Having decoupled `LIBC_LONG_LONG` and `HAVE_LONG_LONG` separately does not make 
sense because:
   ```
   #ifdef CONFIG_HAVE_LONG_LONG
     mount_sprintf(info, "  %-10s %6llu%c %8llu%c  %8llu%c %s\n", fstype,
                   size, sizelabel, used, usedlabel, free, freelabel,
                   mountpoint);
   #else
     mount_sprintf(info, "  %-10s %6ld%c %8ld%c  %8ld%c %s\n", fstype,
                   size, sizelabel, used, usedlabel, free, freelabel,
                   mountpoint);
   #endif
   ```
   ```
   /* Helper macro for printing lba addresses according to the  sys/types.h */
   #if defined(CONFIG_FS_LARGEFILE) && defined(CONFIG_HAVE_LONG_LONG)
   #define PRIxLBA PRIx64
   #define PRIdLBA PRId64
   #else
   #define PRIxLBA PRIx32
   #define PRIdLBA PRId32
   #endif
   ```
   ```
   #if defined(CONFIG_FS_LARGEFILE) && defined(CONFIG_HAVE_LONG_LONG)
   #define PRIdOFF     PRId64
   #define PRIiOFF     PRIi64
   #define PRIoOFF     PRIo64
   #define PRIuOFF     PRIu64
   #define PRIxOFF     PRIx64
   #define PRIXOFF     PRIX64
   
   #define SCNdOFF     SCNd64
   #define SCNiOFF     SCNi64
   #define SCNoOFF     SCNo64
   #define SCNuOFF     SCNu64
   #define SCNxOFF     SCNx64
   #else
   #define PRIdOFF     PRId32
   #define PRIiOFF     PRIi32
   #define PRIoOFF     PRIo32
   #define PRIuOFF     PRIu32
   #define PRIxOFF     PRIx32
   #define PRIXOFF     PRIX32
   
   #define SCNdOFF     SCNd32
   #define SCNiOFF     SCNi32
   #define SCNoOFF     SCNo32
   #define SCNuOFF     SCNu32
   #define SCNxOFF     SCNx32
   #endif
   ```
   so having those decoupled leads to inconsistency (I mean if 
`CONFIG_HAVE_LONG_LONG` is defined, but `LIBC_LONG_LONG` is not). This PR fixes 
the inconsistency and that has nothing to "key philosophy of NuttX being 
small/lightweight and configurable.", but just fixing the broken things.
   
   The another part is something that you also pointed out is 
`CONFIG_HAVE_LONG_LONG` should be a `Kconfig` option and should be something 
that can be disabled to get better footprint and performance 
(small/lightweight). That means that we need to make a separate PR to fix that.


-- 
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.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to