backport: re PR c/39613 (gcc 20090331 produces an error at mce64.c in kernel 2.6.29)

2009-04-09  H.J. Lu  <hongjiu.lu@intel.com>

	Backport from mainline:
	2009-04-09  Joseph Myers  <joseph@codesourcery.com>

	PR c/39613
	* gcc.dg/case-const-1.c: New.

	PR c/39614:
	* gcc.c-torture/compile/pr39614-1.c: New.

	PR c/39673:
	* gcc.c-torture/compile/pr39673-1.c: New.
	* gcc.c-torture/compile/pr39673-2.c: Likewise.

From-SVN: r145858
This commit is contained in:
H.J. Lu 2009-04-09 21:19:29 +00:00 committed by H.J. Lu
parent bfaf4554b0
commit 48153d1c39
5 changed files with 49 additions and 0 deletions

View File

@ -1,3 +1,18 @@
2009-04-09 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-04-09 Joseph Myers <joseph@codesourcery.com>
PR c/39613
* gcc.dg/case-const-1.c: New.
PR c/39614:
* gcc.c-torture/compile/pr39614-1.c: New.
PR c/39673:
* gcc.c-torture/compile/pr39673-1.c: New.
* gcc.c-torture/compile/pr39673-2.c: Likewise.
2009-04-09 Janis Johnson <janis187@us.ibm.com>
PR libobjc/36610

View File

@ -0,0 +1,7 @@
typedef struct page {
unsigned long flags;
} mem_map_t;
static inline void set_page_zone(struct page *page, unsigned long zone_num)
{
page->flags &= ~(~0UL << (64 - 8));
}

View File

@ -0,0 +1,6 @@
unsigned long f1();
int f2();
int store_aff_word(int x) {
return (int) (x ? f1() : f2());
}

View File

@ -0,0 +1,6 @@
unsigned long long f1();
int f2();
int store_aff_word(int x) {
return (int) (x ? f1() : f2());
}

View File

@ -0,0 +1,15 @@
/* Test for case labels not integer constant expressions but folding
to integer constants (used in Linux kernel, PR 39613). */
/* { dg-do compile } */
/* { dg-options "" } */
extern int i;
void
f (int c)
{
switch (c)
{
case (1 ? 1 : i):
;
}
}