tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] wrong/incorrect result of sizeof


From: Roy Tam
Subject: Re: [Tinycc-devel] wrong/incorrect result of sizeof
Date: Tue, 18 Jun 2013 15:40:34 +0800

mingw gcc shows 16 here.
--
E:\>type 1.c
#include <stdint.h>
#include <stdio.h>
struct foobar{
    uint16_t foo; // 4 bytes
    uint64_t bar; // 8 bytes
};
int main(){
    printf("uint16_t=%d\n", sizeof(uint16_t));
    printf("uint64_t=%d\n", sizeof(uint64_t));
    printf("struct foobar=%d\n", sizeof(struct foobar));
    return 0;
}
E:\>d:\tinycc\win32\tcc -run 1.c
uint16_t=2
uint64_t=8
struct foobar=16

E:\>gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=c:/strawberry/c/bin/../libexec/gcc/i686-w64-mingw32/4.6.3/lto-wrapper.exe
Target: i686-w64-mingw32
Configured with: ../../../src/gcc-4.6.3/configure
--build=i686-w64-mingw32 --target=i686-w64-mingw32
--enable-languages=c,c++,fortran,objc,obj-c++ --enable-libgomp
--enable-lto --enable-bootstrap --enable-checking=release
--enable-version-specific-runtime-libs --disable-multilib
--disable-nls --disable-win32-registry --disable-werror
--with-pkgversion='gcc-4.6.3 release with patches [build 20120411 by
perlmingw.sf.net]' --with-sysroot=/gccbuild/prefix/mingw32
--with-gmp=/gccbuild/prefix/mingw32
--with-mpfr=/gccbuild/prefix/mingw32
--with-mpc=/gccbuild/prefix/mingw32
--with-ppl=/gccbuild/prefix/mingw32
--with-cloog=/gccbuild/prefix/mingw32
--with-bugurl=http://mingwfp.znix.com --with-gnu-ld
--prefix=/gccbuild/prefix/mingw32
--with-local-prefix=/gccbuild/prefix/mingw32
--with-libiconv-prefix=/gccbuild/prefix/mingw32
Thread model: win32
gcc version 4.6.3 (gcc-4.6.3 release with patches [build 20120411 by
perlmingw.sf.net])

E:\>gcc 1.c

E:\>a
uint16_t=2
uint64_t=8
struct foobar=16

E:\>
--

2013/6/18 Ariset Llerena <address@hidden>:
> the following code
>
> #include <stdint.h>
> #include <stdio.h>
> struct foobar{
>     uint16_t foo; // 4 bytes
>     uint64_t bar; // 8 bytes
> };
> int main(){
>     printf("%d\n", sizeof(struct foobar));
>     return 0;
> }
>
> prints 16, gcc 4.7 prints 12 that is the correct result. Posted in
> http://ideone.com/grqlpU
>
> _______________________________________________
> Tinycc-devel mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/tinycc-devel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]