On 02/20/2016 09:46 AM, David Malcolm wrote:
We had some regressions in the ability for _Pragma to disable a warning
(PR preprocessor/69126, PR preprocessor/69543, PR preprocessor/69558).

This patch attempts to add more test coverage for this, for the
various combinations of:
   - various warnings:
     -Wunused-variable
     -Wuninitialized
     -Wdeprecated-declarations
   - various combinations of location of _Pragma relative to location of
     the warning:
      - _Pragma is in a macro, warning isn't a macro
      - neither is in a macro
      - _Pragma isnt't in a macro, warning is in a macro
      - in different macros
      - both in the same macro
   - C vs C++ frontend.

It adds some XFAILs:
   - pr69543-1.c for C++ (fixed in the followup patch)
   - pr69543-3.c for both C and C++
   - pr69543-4.c for both C and C++
   - pr69558.c for C++ (moving it from gcc.dg to c-c++-common,
     marking it as xfail for C++ for now)

I've also tested the new cases on gcc 5.  The only regression we
currently have in trunk relative to gcc 5 is
c-c++-common/pr69543-1.c lines 19, which the followup patch fixes.

Successfully bootstrapped&regrtested on x86_64-pc-linux-gnu in
combination with the followup patch.

OK for trunk?

gcc/testsuite/ChangeLog:
        PR preprocessor/69126
        PR preprocessor/69543
        PR preprocessor/69558
        * c-c++-common/pr69126.c (MACRO_1, test_1): New.
        (f): Rename to...
        (test_2): ...this, and add leading comment.
        (MACRO_3, test_3): New.
        (MACRO_4A, MACRO_4B, test_4): New.
        (MACRO): Rename to...
        (MACRO_5): ...this.
        (g): Rename to...
        (test_5): ...this, updating for renaming of MACRO, and
        add leading comment.
        * c-c++-common/pr69543-1.c: New.
        * c-c++-common/pr69543-2.c: New.
        * c-c++-common/pr69543-3.c: New.
        * c-c++-common/pr69543-4.c: New.
        * c-c++-common/pr69558-1.c: New.
        * c-c++-common/pr69558-2.c: New.
        * c-c++-common/pr69558-3.c: New.
        * c-c++-common/pr69558-4.c: New.
        * gcc.dg/pr69558.c: Move to...
        * c-c++-common/pr69558.c: ...here.  Add dg-bogus directives, with
        xfail for c++.
Yes, this is fine for the trunk.

jeff

Reply via email to