[Bug c/85443] New: internal compiler error: Segmentation fault

2018-04-17 Thread xvl5190 at psu dot edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85443

Bug ID: 85443
   Summary: internal compiler error: Segmentation fault
   Product: gcc
   Version: 5.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: xvl5190 at psu dot edu
  Target Milestone: ---

This is the code that triggers the crash:

char acDummy[0xf0] __attribute__ ((__BELOW100__));
unsigned short B100 __attribute__ ((__BELOW100__));
unsigned short *p = 

unsigned short wData = 0x1234;
_Atomic int i = 3; 
int a1 = sizeof (i + 1); 

void
Do (void)
{
  B100 = wData;
}

int
main (void)
{
  *p = 0x9876;
  Do ();
  return (*p == 0x1234) ? 0 : 1;
}

[Bug c/84291] New: Internal compiler error: in tree_to_uhwi, at tree.h:4128

2018-02-08 Thread xvl5190 at psu dot edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84291

Bug ID: 84291
   Summary: Internal compiler error: in tree_to_uhwi, at
tree.h:4128
   Product: gcc
   Version: 7.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: xvl5190 at psu dot edu
  Target Milestone: ---

Test case:

/* PR c/81231 */ /* { dg-do compile } */ /* { dg-options "" : \ \ \ ina + 1 + i
+ 1) + 1;} */
enum E;
void foo(void) {
  __atomic_load_n((enum E * ) 0, 0); /* { dg-error "incompatible" } */
  __atomic_load_n((enum X * ) 0, 0); /* { dg-error "incompatible" } */
}

[Bug c/84290] New: Internal compiler error: in tree_to_uhwi, at tree.h:4044

2018-02-08 Thread xvl5190 at psu dot edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84290

Bug ID: 84290
   Summary: Internal compiler error: in tree_to_uhwi, at
tree.h:4044
   Product: gcc
   Version: 6.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: xvl5190 at psu dot edu
  Target Milestone: ---

Test case:

/* PR c/81231 */ /* { dg-do compile } */ /* { dg-options "" : \ \ \ ina + 1 + i
+ 1) + 1;} */
enum E;
void foo(void) {
  __atomic_load_n((enum E * ) 0, 0); /* { dg-error "incompatible" } */
  __atomic_load_n((enum X * ) 0, 0); /* { dg-error "incompatible" } */
}

[Bug c/84240] Error in extract_constrain_insn, at recog.c:2246

2018-02-07 Thread xvl5190 at psu dot edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84240

--- Comment #2 from xvl5190 at psu dot edu ---
Please try this example with optimization level -O1/-O2/-O3:

/* Executable testcase for 'output flags.' */
/* { dg-do rund *nbum; } */
char TestC() {
  char r;
  __asm__("stc": "=@ccc" (r));
  if (r) {
__asm__("clc": "=@ccnc" (r));
if (r) return 1;
  }
  return 0;
}
char TestE() {
  char r; /* 1 equals 1. */
  __asm__("cmp $1, %1": "=@cce" (r): "r" (1));
  if (r) { /* 1 not equals 2. */
__asm__("cmp $2, %1": "=@ccne" (r): "r" (1));
if (r) return 1;
  }
  return 0;
}
char TestZ() {
  char r; /* 1 equals 1. */
  __asm__("cmp $1, %1": "=@ccz" (r): "r" (1));
  if (r) { /* 1 not equals 2. */
__asm__("cmp $2, %1": "=@ccnz" (r): "r" (1));
if (r) return 1;
  }
  return 0;
}
char TestA() {
  char r; /* 1 a 0. */
  __asm__("cmp $0, %1": "=@cca" (r): "r" (1));
  if (r) { /* 1 na 2. */
__asm__("cmp $2, %1": "=@ccna" (r): "r" (1));
if (r) { /* 1 na 1. */
  __asm__("cmp $1, %1": "=@ccna" (r): "r" (1));
  if (r) return 1;
}
  }
  return 0;
}
char TestAE() {
  char r; /* 1 ae 0. */
  __asm__("cmp $0, %1": "=@ccae" (r): "r" (1));
  if (r) { /* 1 nae 2. */
__asm__("cmp $2, %1": "=@ccnae" (r): "r" (1));
if (r) { /* 1 ae 1. */
  __asm__("cmp $1, %1": "=@ccae" (r): "r" (1));
  if (r) return 1;
}
  }
  return 0;
}
char TestB() {
  char r; /* 1 b 2. */
  __asm__("cmp $2, %1": "=@ccb" (r): "r" (1));
  if (r) { /* 1 nb 0. */
__asm__("cmp $0, %1": "=@ccnb" (r): "r" (1));
if (r) { /* 1 nb 1. */
  __asm__("cmp $1, %1": "=@ccnb" (r): "r" (1));
  if (r) return 1;
}
  }
  return 0;
}
char TestBE() {
  char r; /* 1 be 2. */
  __asm__("cmp $2, %1": "=@ccbe" (r): "r" (1));
  if (r) { /* 1 nbe 0. */
__asm__("cmp $0, %1": "=@ccnbe" (r): "r" (1));
if (r) { /* 1 be 1. */
  __asm__("cmp $1, %1": "=@ccbe" (r): "r" (1));
  if (r) return 1;
}
  }
  return 0;
}
char TestG() {
  char r; /* 1 g 0. */
  __asm__("cmp $0, %1": "=@ccg" (r): "r" (1));
  if (r) { /* 1 ng 2. */
__asm__("cmp $2, %1": "=@ccng" (r): "r" (1));
if (r) { /* 1 ng 1. */
  __asm__("cmp $1, %1": "=@ccng" (r): "r" (1));
  if (r) return 1;
}
  }
  return 0;
}
char TestGE() {
  char r; /* 1 ge 0. */
  __asm__("cmp $0, %1": "=@ccge" (r): "r" (1));
  if (r) { /* 1 nge 2. */
__asm__("cmp $2, %1": "=@ccnge" (r): "r" (1));
if (r) { /* 1 ge 1. */
  __asm__("cmp $1, %1": "=@ccge" (r): "r" (1));
  if (r) return 1;
}
  }
  return 0;
}
char TestL() {
  char r; /* 1 l 2. */
  __asm__("cmp $2, %1": "=@ccl" (r): "r" (1));
  if (r) { /* 1 nl 0. */
__asm__("cmp $0, %1": "=@ccnl" (r): "r" (1));
if (r) { /* 1 nl 1. */
  __asm__("cmp $1, %1": "=@ccnl" (r): "r" (1));
  if (r) return 1;
}
  }
  return 0;
}
char TestLE() {
  char r; /* 1 le 2. */
  __asm__("cmp $2, %1": "=@ccle" (r): "r" (1));
  if (r) { /* 1 nle 0. */
__asm__("cmp $0, %1": "=@ccnle" (r): "r" (1));
if (r) { /* 1 le 1. */
  __asm__("cmp $1, %1": "=@ccle" (r): "r" (1));
  if (r) return 1;
}
  }
  return 0;
}
char TestO() {
  char r;
  unsigned char res = 128; /* overflow. */
  __asm__("addb $128, %1": "=@cco" (r), "+r" (res));
  if (r) { /* not overflow. */
__asm__("addb $1, %1": "=@ccno" (r), "+r" (res));
if (r) return 1;
  }
  return 0;
}
char TestP() {
  char r, res = 1;
  /* even 
# bits. */
  __asm__("addb $2, %1": "=@ccp" (r), "+r" (res));
  if (r) {
/* odd 
# bits. */
__asm__("addb $1, %1": "=@ccnp" (r), "+r" (res));
if (r) return 1;
  }
  return 0;
}
char TestS() {
  char r, res = 1; /* sign bit set. */
  __asm__("addb $128, %1": "=@ccs" (r), "+r" (res));
  if (r) { /* sign bit not set. */
__asm__("subb $128, %1": "=@ccns" (r), "+r" (res));
if (r) return 1;
  }
  return 0;
} /* dg-do treats exit code of 0 as success. */
int main() {
  if (TestC() && TestE() && TestZ() && TestA() && TestAE() && TestB() &&
TestBE() && TestG() && TestGE() && TestL() && TestLE() && TestO() && TestP() &&
TestS()) return 0;
  __builtin_abort();
}

[Bug c/84240] New: Error in extract_constrain_insn, at recog.c:2246

2018-02-06 Thread xvl5190 at psu dot edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84240

Bug ID: 84240
   Summary: Error in extract_constrain_insn, at recog.c:2246
   Product: gcc
   Version: 5.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: xvl5190 at psu dot edu
  Target Milestone: ---

Building modified tests by turning on the optimizations. Get internal errors:

gcc -w -O1 asm-flag-6.c_0.1.c 
asm-flag-6.c_0.1.c: In function ‘TestP’:
asm-flag-6.c_0.1.c:5:2: error: unrecognizable insn:
  __asm__ ("addb $1, %1" : "=@ccnp"(r), "+r"(res)); if (r) return 1; } return
0; } char TestS () { char r, res = 1; /* sign bit set. 
  ^
(insn 13 12 16 3 (parallel [
(set (reg:QI 0 ax [orig:96 r ] [96])
(asm_operands:QI ("addb $1, %1") ("=@ccnp") 0 [
(reg:QI 1 dx [orig:97 res ] [97])
]
 [
(asm_input:QI ("1") asm-flag-6.c_0.1.c:5)
]
 [] asm-flag-6.c_0.1.c:5))
(set (reg:QI 1 dx [orig:97 res ] [97])
(asm_operands:QI ("addb $1, %1") ("=r") 1 [
(reg:QI 1 dx [orig:97 res ] [97])
]
 [
(asm_input:QI ("1") asm-flag-6.c_0.1.c:5)
]
 [] asm-flag-6.c_0.1.c:5))
(clobber (reg:QI 18 fpsr))
(clobber (reg:QI 17 flags))
]) asm-flag-6.c_0.1.c:5 -1
 (nil))
asm-flag-6.c_0.1.c:5:2: internal compiler error: in extract_constrain_insn, at
recog.c:2246
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.