aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr33382.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr33382.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr33382.c95
1 files changed, 95 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr33382.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr33382.c
new file mode 100644
index 000000000..c939cf7b7
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr33382.c
@@ -0,0 +1,95 @@
+typedef __SIZE_TYPE__ size_t;
+typedef struct {
+ int disable;
+ char *searchconfig[];
+} config_t;
+typedef struct {
+ void *lng;
+} arglist_t;
+config_t config = {
+ .searchconfig = {
+ ((void *) 0)}
+};
+
+arglist_t arglist[] = {
+ {
+ &config.searchconfig[0]}
+};
+const int arglistsize = ((int) (sizeof(arglist) / sizeof(arglist_t)));
+void show_configuration(char *arg)
+{
+ int i;
+
+ if (!__extension__( {
+ size_t
+ __s1_len,
+ __s2_len; (__builtin_constant_p(arglist[i].lng)
+ && (__s1_len = (!((size_t)
+ (const void *)
+ 1)
+ || __s2_len >= 4))
+ ? : (__builtin_constant_p(arglist[i].lng)
+ && ((size_t)
+ (const void *)
+ 4)
+ ? (__builtin_constant_p(arg)
+ && ((size_t) (const void *) 1) ?
+ : (__extension__( {
+ __const * __s2 =
+ (__const *)
+ (arg);
+ register
+ __result =
+ (((__const
+ *) (arglist
+ [i].
+ lng))[0]
+ - __s2[0]);
+ if (__s1_len ==
+ 0) {
+ if (__s1_len ==
+ 0) {
+ __result =
+ (((__const
+ unsigned char
+ *) (__const
+ char
+ *)
+ (arglist[i].
+ lng))[3] -
+ __s2[3]);}
+ }
+ __result;}
+ ))):
+ (__builtin_constant_p(arg)
+ ?
+ (__builtin_constant_p
+ (arglist[i].lng)
+ ? : (__extension__( {
+ char
+ __result
+ =
+ ((__const
+ unsigned *)
+ (arg))[0];
+ if
+ (__s2_len
+ > 0
+ && __result ==
+ 0) {
+ if (__s2_len >
+ 1
+ && __result
+ == 0) {
+ }
+ }
+ __result;}
+ ))):
+
+
+
+ __builtin_strcmp(arglist[i].lng,
+ arg))));}
+ ))
+ return;
+}