Hello Michael,

I made a re-run for the GCC test suite.
I have just noticed that picdtr.c was not uploaded, also I forgot to
adapt the new pic option text in it.
thus we need to apply the attached patch.

Otherwise, it's all fine.
Results (Normal Run):

        === gcc Summary ===

# of expected passes        91211
# of unexpected failures    1325
# of unexpected successes    3
# of expected failures        212
# of unresolved testcases    374
# of unsupported tests        2863

Results (with -fPIE -mpic-data-is-text-relative):
        === gcc Summary ===

# of expected passes        91243
# of unexpected failures    1208
# of unexpected successes    3
# of expected failures        212
# of unresolved testcases    374
# of unsupported tests        2888

Comparison for PASS-> FAIL is only this one now:
PASS->FAIL: gcc.dg/uninit-19.c (test for excess errors) => already
fails with -fPIE/-fPIC as mentioned before.

On Thu, May 3, 2018 at 7:13 PM, Andrew Sadek <andrew.sadek...@gmail.com> wrote:
> --resend Michael's reply
>
> On Mon, Apr 30, 2018 at 1:19 PM, Michael Eager <ea...@eagerm.com> wrote:
>>
>>
>> Applied -- Committed revision 259758.
>>
>> Andrew -- Please re-run GCC regression test to verify that nothing
>> was lost in the editing.
>>
>>
>>
>> --
>> Michael Eager    ea...@eagerm.com
>> 1960 Park Blvd., Palo Alto, CA 94306
>
>
>
>
> --
>
> Andrew



-- 

Andrew
Index: picdtr.c
===================================================================
--- picdtr.c    (nonexistent)
+++ picdtr.c    (working copy)
@@ -0,0 +1,79 @@
+/* { dg-options "-fPIE mpic-data-is-text-relative -save-temps" } */
+/* { dg-do run } */
+
+#define TEST_VAR(var,val) (var) = (val); if( (var) != (val)) return 0;
+
+int foo(unsigned int i);
+extern void abort(void);
+extern void exit(int);
+
+unsigned char data[8];
+long bigData[7];
+long var;
+typedef struct {int a; short b; long c[1000][1000]; long long d[3][3]; char e; 
} myDef;
+myDef def;
+const char* myString;
+
+/* { dg-final { scan-assembler "mfs\tr20,rpc" } } */
+/* { dg-final { scan-assembler "addik\tr20,r20,8@TXTPCREL" } } */
+/* { dg-final { scan-assembler ",r20,\[^\n]*var\[^\n]*@TXTREL" } } */
+/* { dg-final { scan-assembler-not ",r0,\[^\n]*var" } } */
+/* { dg-final { scan-assembler ",r20,\[^\n]*bigData\[^\n]*@TXTREL" } } */
+/* { dg-final { scan-assembler-not ",r0,\[^\n]*bigData" } } */
+/* { dg-final { scan-assembler ",r20,\[^\n]*def\[^\n]*@TXTREL" } } */
+/* { dg-final { scan-assembler-not ",r0,\[^\n]*def" } } */
+/* { dg-final { scan-assembler ",r20,\[^\n]*data\[^\n]*@TXTREL" } } */
+/* { dg-final { scan-assembler-not ",r0,\[^\n]*data" } } */
+/* { dg-final { scan-assembler ",r20,\[^\n]*L\[^\n]*@TXTREL" } } */
+/* { dg-final { scan-assembler-not ",r0,\[^\n]*L" } } */
+
+
+
+void foo2() {
+       var++;
+}
+
+int foo (unsigned int i) {
+
+       TEST_VAR(var,123)
+       TEST_VAR(data[i],77)
+       TEST_VAR(data[2],88)
+       TEST_VAR(def.a,897)
+       TEST_VAR(bigData[i],78)
+       TEST_VAR(bigData[2],777)
+       TEST_VAR(def.b,12333);
+       TEST_VAR(def.c[i][i],5);
+       TEST_VAR(def.c[0][1],7);
+       TEST_VAR(def.d[1][2],123);
+       TEST_VAR(def.e,7);
+       TEST_VAR(bigData[i+1],bigData[i*2]);
+
+       foo2();
+
+       myString = "Hello";
+
+       switch(i){
+
+       case 1: var += 2; break;
+       case 2: var += 3; break;
+       case 3: var += 5; break;
+       case 4: var += 7; break;
+       case 5: var += 8; break;
+       default: var = 0;
+
+       }
+
+       return 1;
+
+}
+
+int main() {
+
+       int result = foo(3);
+       if(result != 1 || var != 129) {
+               abort();
+       }
+
+       exit(0);
+
+}

Reply via email to