source: tests/warnings/self-assignment.cfa @ c086c6e

Last change on this file since c086c6e was 2853d6f, checked in by Michael Brooks <mlbrooks@…>, 3 weeks ago

Remove uses of warnings to show test success. Eliminate simple causes of other warnings from affected tests and remove the result from WFLAG_OPT_LAX.

Many affected tests also formerly used -fsyntax-only to avoid errors at later compilation stages, or at runtime. Repair such tests to actually work though runtime, and remove them from SYNTAX_ONLY_CODE.

Group tests listed under WFLAGS_OPT according to why they should receive lax treatment. Add reason WFLGAS_OPT_LAX_EXPECT_WARN and give the original list reason WFLGAS_OPT_LAX_TO_INVESTIGATE.

Tests whose purpose is to show a warning are listed as both SYNTAX_ONLY_CODE (so that the warning is the output) and WFLGAS_OPT_LAX_EXPECT_WARN (to document this fact).

  • Property mode set to 100644
File size: 764 bytes
RevLine 
[6bc76537]1//
2// Cforall Version 1.0.0 Copyright (C) 2018 University of Waterloo
3//
4// The contents of this file are covered under the licence agreement in the
5// file "LICENCE" distributed with Cforall.
6//
7// self-assignment.c --
8//
9// Author           : Rob Schluntz
10// Created On       : Thu Mar 1 13:53:57 2018
[6dfed1f]11// Last Modified By : Peter A. Buhr
[53692b3]12// Last Modified On : Sat Jun  5 10:08:56 2021
13// Update Count     : 7
[6bc76537]14//
15
16struct S {
[6dfed1f]17        int i;
[6bc76537]18};
19
20struct T {
[6dfed1f]21        S s;
[6bc76537]22};
23
[2853d6f]24void f() {
[6dfed1f]25        int j = 0;
26        S s = { 0 };
27        T t = { { 0 } };
[6bc76537]28
[6dfed1f]29        j = j;
30        s = s;
31        s.i = s.i;
32        t.s.i = t.s.i;
[66812dd]33
[2853d6f]34        // Is compiled -fsyntax-only (not run), to make the test's "output" be the warnings from cfa-cpp.
[6bc76537]35}
36
37// Local Variables: //
38// tab-width: 4 //
[66812dd]39// compile-command: "cfa self-assignment.cfa" //
[6bc76537]40// End: //
Note: See TracBrowser for help on using the repository browser.