# include <stdio.h>
typedef struct { char a; } buffer;
int main (void) {
struct buffer { int a; } ;
int x = 4 //**/ 2
;
buffer b;
b.a = 655;
fprintf (stderr, "b.a = %d / x = %d\n", b.a, x);
}
Here is a transcript of what happens when it is compiled with a conforming C compiler:
> gcc --ansi struct.c
struct.c: In function `main':
struct.c:10: warning: overflow in implicit constant conversion
This is just a warning not a violation of language specification.
Most compilers would not complain.
> a.out
b.a = -113 / x = 2
Here is a transcript of what happens when it is compiler with a conforming C++ compiler:
> g++ --ansi struct.c > a.out b.a = 655 / x = 4
Any participant in the trial may use this as they see fit.
|
University of Virginia CS 655: Programming Languages |
cs655-staff@cs.virginia.edu Last modified: Mon Feb 26 12:48:20 2001 |