Skip to content
Success

Changes

Summary

  1. Added a check in operatorLookup so bad operators give a proper error message instead of segment fault. (details)
  2. remove superflous calls to std::move (details)
  3. Attempted to inject some examples (and some other pieces I had missed) into the enum proposal. (details)
  4. fix length for juxtaposed strings: "ABC" "DEF" (details)
  5. add another attribute test (details)
  6. update expected for attribute test aarch64 (details)
  7. update expected for attribute test x86 (details)
  8. more proofreading of introduction chapter (details)
  9. Removed increment and decrement operators for enumerations from builtins. I am confident the generic fallbacks work because I added tests. (details)
  10. Explicate the present state for test-suite programs being free of warnings. (details)
  11. Remove unnecessary special case for zero_t in code gen that caused unused-variable warning in thunks. (details)
  12. remove warnings from alloc_internal$ in stdlib.hfa (details)
  13. put back parameter names in comments (details)
  14. remove fixed tests from WFLGAS_OPT_LAX (details)
  15. change wflags-orig.txt to wflags-lax.txt (details)
  16. Solved the requested warning with exceptions. Also went through the exceptions tests and managed to remove about 2/3rds of them from the lax list that now either didn't have any warnings or warnings because of the test itself. (details)
  17. Try to get full build completing by disabling a data-collection substep. (details)
  18. Fix test-classification commands to detect more strict-capable tests.  Remove such tests from the lax list. (details)
  19. Add file missed in d9162ec9 (details)
  20. Add completion of work in progress mistakenly included in 584612d.  Fix test string-api-coverage to be warning free. (details)
  21. Changed some inline declarations to static or static inline (which are the same except for intent communication). This makes them more robust to inline changes. (details)
  22. fix build problem by fixing unsupported C23 attribute in test (details)
Commit 15cb7900f3b1c8c8879fb98afd3fbaa2455f3f82 by ajbeach
Added a check in operatorLookup so bad operators give a proper error message instead of segment fault.
The file was modifiedsrc/CodeGen/OperatorTable.cpp
Commit 4167afa8457c6663f553f8e13b8cff5feb258535 by Peter Buhr
remove superflous calls to std::move
The file was modifiedsrc/Validate/ReplaceTypedef.cpp
Commit 80018f56b169cc00fa49f0bff2f4f084646b61bb by ajbeach
Attempted to inject some examples (and some other pieces I had missed) into the enum proposal.
The file was modifieddoc/proposals/enums.md
Commit f9a0dd0ededb566dea1f3d1f79526bed77c8063d by Peter Buhr
fix length for juxtaposed strings: "ABC" "DEF"
The file was modifiedsrc/Parser/ExpressionNode.cpp
Commit 9a01745e06266b363221bee8eedb6c563702cf33 by Peter Buhr
add another attribute test
The file was modifiedtests/attributes.cfa
The file was modifiedtests/.expect/attributes.x64.txt
Commit 9b55aa3a1e4047e501ad55d95cfc61aab206ce42 by Peter Buhr
update expected for attribute test aarch64
The file was modifiedtests/.expect/attributes.arm64.txt
Commit 4ff7ea399fa9e13495f9b87399cfaa90956f0091 by Peter Buhr
update expected for attribute test x86
The file was modifiedtests/.expect/attributes.x86.txt
Commit 2980ccb81bba22ad3dcfcfd13e3857a6f2909ee3 by Peter Buhr
more proofreading of introduction chapter
The file was modifieddoc/theses/fangren_yu_MMath/intro.tex
Commit 5780d0daa4264756677240ebbf2a1ad74597dadb by ajbeach
Removed increment and decrement operators for enumerations from builtins. I am confident the generic fallbacks work because I added tests.
The file was modifiedtests/.expect/declarationSpecifier.arm64.txt
The file was modifiedtests/.expect/declarationSpecifier.x86.txt
The file was modifiedtests/.expect/extension.x64.txt
The file was modifiedtests/.expect/KRfunctions.x86.txt
The file was modifiedtests/.expect/gccExtensions.x86.txt
The file was modifiedtests/.expect/KRfunctions.x64.txt
The file was modifiedtests/.expect/extension.arm64.txt
The file was modifiedtests/.expect/extension.x86.txt
The file was modifiedtests/.expect/gccExtensions.arm64.txt
The file was modifiedtests/.expect/declarationSpecifier.x64.txt
The file was modifiedtests/.expect/gccExtensions.x64.txt
The file was addedtests/enum_tests/.expect/inc-dec.txt
The file was modifiedlibcfa/prelude/builtins.c
The file was addedtests/enum_tests/inc-dec.cfa
The file was modifiedtests/.expect/KRfunctions.arm64.txt
Commit faf9e1980e17d288281279a8ee128978108933dd by Michael Brooks
Explicate the present state for test-suite programs being free of warnings.

Now, test-suite compilation occurs in either strict or lax "wflags" mode.  Strict mode is equivalent to what used to be done for the `nowarn` folder, lax to the rest of the test suite.  Makefile.am now owns a list of tests that opt for lax wflags.  About 70% of the tests opt for lax.

Remove special handling for the `nowarn` folder.  Now, it simply does not appear on the opt-for-lax list.

Remove former tests
nowarn/fstream
nowarn/list
nowarn/string
because, respectively
io/io
list/dlist-insert-remove
collections/string-api-coverage
obviate them by getting strict wflags.
The file was removedtests/nowarn/.expect/fstream.txt
The file was modifiedtests/Makefile.am
The file was removedtests/nowarn/.expect/list.txt
The file was removedtests/nowarn/fstream.cfa
The file was removedtests/nowarn/string.cfa
The file was removedtests/nowarn/.expect/string.txt
The file was removedtests/nowarn/list.cfa
Commit e0330d2cd1a09857e7eda48e70140f0f25161679 by Michael Brooks
Remove unnecessary special case for zero_t in code gen that caused unused-variable warning in thunks.

Add instructions for tidying warnings (with the present zero_t case as its running example) as a "proposal."

The code gen change is safe because a corresponding case for one_t was always "missing" and the the variable at issue is never used meaningfully.  (Prior work has size_t lowered as int.  While that's a dubious choice, it's beyond what I'm fixing here.)

Mark these tests as now clean of warnings:
  array-collections/array-basic
  ctrl-flow/loopctrl
  vector
  vector_math/vec2_int
  vector_math/vec2_float
  vector_math/vec3_float
  vector_math/vec4_float
  zero_one
The file was modifiedsrc/CodeGen/CodeGenerator.cpp
The file was addeddoc/proposals/nowarn.md
The file was addedtests/nowarn/zero-thunk.cfa
The file was modifiedtests/Makefile.am
The file was modifiedtests/array-collections/array-basic.cfa
The file was addedtests/nowarn/.expect/zero-thunk.txt
Commit e0f3bd23f623d604f6d18aa73e89c0388f37e424 by Peter Buhr
remove warnings from alloc_internal$ in stdlib.hfa
The file was modifiedlibcfa/src/stdlib.hfa
Commit a65cd5e945fecac9d8b11730d6bc465aac99fb4a by Peter Buhr
put back parameter names in comments
The file was modifiedlibcfa/src/stdlib.hfa
Commit 956ad355a0628c1f890198e8dbe8aa3babcff706 by Peter Buhr
remove fixed tests from WFLGAS_OPT_LAX
The file was modifiedtests/Makefile.am
Commit df91e154efd3628ba991d611e95933a2583500c3 by Peter Buhr
change wflags-orig.txt to wflags-lax.txt
The file was modifieddoc/proposals/nowarn.md
Commit d3cf623098e72d98fd3ea76544061496946dbba4 by ajbeach
Solved the requested warning with exceptions. Also went through the exceptions tests and managed to remove about 2/3rds of them from the lax list that now either didn't have any warnings or warnings because of the test itself.
The file was modifiedtests/exceptions/resume.cfa
The file was modifiedtests/exceptions/cancel/coroutine.cfa
The file was modifiedtests/exceptions/interact.cfa
The file was modifiedtests/exceptions/try-leave-catch.cfa
The file was modifiedtests/exceptions/terminate.cfa
The file was modifiedtests/exceptions/defaults.cfa
The file was modifiedtests/exceptions/try-ctrl-flow.cfa
The file was modifiedtests/Makefile.am
The file was modifiedtests/exceptions/data-except.cfa
The file was modifiedtests/exceptions/trash.cfa
The file was modifiedtests/exceptions/virtual-cast.cfa
The file was modifiedsrc/Virtual/Tables.cpp
The file was modifiedtests/exceptions/conditional.cfa
The file was modifiedtests/exceptions/cancel/thread.cfa
The file was modifiedtests/exceptions/finally.cfa
The file was modifiedtests/exceptions/polymorphic.cfa
Commit b05d79dfa93934939aadd307627a2beecfefb986 by Michael Brooks
Try to get full build completing by disabling a data-collection substep.

In benchmarks/compile.csv, column 'attributes' is now showing hardcoded zero.

Also, add log comment to ease similar troubleshooting in the future.
The file was modifiedbenchmark/Makefile.am
Commit d9162ec9cf76ec3a23094dfca0cd12499ddaf8e9 by Michael Brooks
Fix test-classification commands to detect more strict-capable tests.  Remove such tests from the lax list.

Nothing about how to use the document is different, just what to paste.

Also, add back tests that give warnings only on release mode.
The file was modifieddoc/proposals/nowarn.md
Commit 584612d49519a520b9b9f6c479417deec445ec6a by Michael Brooks
Add file missed in d9162ec9
The file was modifiedtests/Makefile.am
Commit b12b1baa9706d4fd9b5c66a157ab809d9cdf268a by Michael Brooks
Add completion of work in progress mistakenly included in 584612d.  Fix test string-api-coverage to be warning free.
The file was modifiedtests/collections/string-api-coverage.cfa
Commit 5251c6b3e179b007a0d6e799699a2ace9204dda2 by ajbeach
Changed some inline declarations to static or static inline (which are the same except for intent communication). This makes them more robust to inline changes.
The file was modifiedtests/exceptions/except-io.hfa
The file was modifiedlibcfa/src/bits/stack.hfa
The file was modifiedlibcfa/src/concurrency/coroutine.cfa
Commit 77148b08d37e54e1e2289ee68f8928d6326cb3bd by Peter Buhr
fix build problem by fixing unsupported C23 attribute in test
The file was modifiedtests/attributes.cfa

Summary

  1. Begin an exploratory meta-test of warning detection.  This change will be reversed. (details)
  2. End the meta-test of warning detection.  Reverse 135197188ba. (details)
  3. Fix exceptions to be warning-free. (details)
  4. Fix IO stream to be warning-free. (details)
  5. Add test for milestone: String is warning-free (details)
  6. update semantic warnings (details)
  7. update SuperfluousDecl warning, update field_declaring rules, comment casts, update CFA shorthand attribute to @[...] (details)
  8. update tests for attribute and semantic warnings (details)
  9. update expected output of atribute test for x86 (details)
  10. update expected output of atribute test for arm64 (details)
  11. Added a check in operatorLookup so bad operators give a proper error message instead of segment fault. (details)
  12. remove superflous calls to std::move (details)
  13. Attempted to inject some examples (and some other pieces I had missed) into the enum proposal. (details)
  14. fix length for juxtaposed strings: "ABC" "DEF" (details)
  15. add another attribute test (details)
  16. update expected for attribute test aarch64 (details)
  17. update expected for attribute test x86 (details)
  18. more proofreading of introduction chapter (details)
  19. Removed increment and decrement operators for enumerations from builtins. I am confident the generic fallbacks work because I added tests. (details)
  20. Explicate the present state for test-suite programs being free of warnings. (details)
  21. Remove unnecessary special case for zero_t in code gen that caused unused-variable warning in thunks. (details)
  22. remove warnings from alloc_internal$ in stdlib.hfa (details)
  23. put back parameter names in comments (details)
  24. remove fixed tests from WFLGAS_OPT_LAX (details)
  25. change wflags-orig.txt to wflags-lax.txt (details)
  26. Solved the requested warning with exceptions. Also went through the exceptions tests and managed to remove about 2/3rds of them from the lax list that now either didn't have any warnings or warnings because of the test itself. (details)
  27. Try to get full build completing by disabling a data-collection substep. (details)
  28. Fix test-classification commands to detect more strict-capable tests.  Remove such tests from the lax list. (details)
  29. Add file missed in d9162ec9 (details)
  30. Add completion of work in progress mistakenly included in 584612d.  Fix test string-api-coverage to be warning free. (details)
Commit 135197188ba1bdea9a919286e6c4ac411a03bb8c by Michael Brooks
Begin an exploratory meta-test of warning detection.  This change will be reversed.

Warnings from socket.h (about static-inline lifecycle functions "used in inline function 'recvfrom' which is not static") are known to be manually reproducibe with nodebug builds but not debug builds.  This experiment asks: Will our present-state CI rig flag it?
The file was addedtests/nowarn/.expect/socket.txt
The file was addedtests/nowarn/socket.cfa
Commit 9b01ed1bd9fa042e5186a7fbaf7f0b83a51a872e by Michael Brooks
End the meta-test of warning detection.  Reverse 135197188ba.

This experiment successfully concludes: Our present-state CI rig flags the socket.h warnings during overnight builds, though not immediately upon checkin.
The file was removedtests/nowarn/.expect/socket.txt
The file was removedtests/nowarn/socket.cfa
Commit fb0f04d09615a0006f8d2eec237f089ba7688917 by Michael Brooks
Fix exceptions to be warning-free.
The file was modifiedsrc/ControlStruct/ExceptDecl.cpp
The file was addedtests/nowarn/exception.cfa
The file was addedtests/nowarn/.expect/exception.txt
Commit 96ef156eb6906d418f912ecaadba955f627e7457 by Michael Brooks
Fix IO stream to be warning-free.
The file was addedtests/nowarn/.expect/fstream.txt
The file was modifiedlibcfa/src/bits/debug.hfa
The file was addedtests/nowarn/fstream.cfa
The file was modifiedlibcfa/src/iostream.hfa
Commit d30c22957229a094959468625bda721051e9c843 by Michael Brooks
Add test for milestone: String is warning-free
The file was addedtests/nowarn/.expect/string.txt
The file was addedtests/nowarn/string.cfa
Commit 5786403d7c24416165ff9097e999c5746fbe7f3e by Peter Buhr
update semantic warnings
The file was modifiedsrc/Parser/lex.ll
The file was modifiedsrc/Common/SemanticError.hpp
Commit a16f2b6aa2dbe75a4f385cb3a76b9b6159ebea02 by Peter Buhr
update SuperfluousDecl warning, update field_declaring rules, comment casts, update CFA shorthand attribute to @[...]
The file was modifiedsrc/Parser/parser.yy
Commit 0497b6ba3fd2570c5022f91577f43565dbbd1758 by Peter Buhr
update tests for attribute and semantic warnings
The file was modifiedtests/warnings/.expect/self-assignment.txt
The file was modifiedtests/.expect/attr-priority.txt
The file was modifiedtests/attributes.cfa
The file was modifiedtests/.expect/attributes.x64.txt
Commit d344a63dc14961c41aed0a566d6efb205bff2e83 by Peter Buhr
update expected output of atribute test for x86
The file was modifiedtests/.expect/attributes.x86.txt
Commit 50e04cccb4001e9c5a356a7558076bc488a0a1f2 by Peter Buhr
update expected output of atribute test for arm64
The file was modifiedtests/.expect/attributes.arm64.txt
Commit 15cb7900f3b1c8c8879fb98afd3fbaa2455f3f82 by ajbeach
Added a check in operatorLookup so bad operators give a proper error message instead of segment fault.
The file was modifiedsrc/CodeGen/OperatorTable.cpp
Commit 4167afa8457c6663f553f8e13b8cff5feb258535 by Peter Buhr
remove superflous calls to std::move
The file was modifiedsrc/Validate/ReplaceTypedef.cpp
Commit 80018f56b169cc00fa49f0bff2f4f084646b61bb by ajbeach
Attempted to inject some examples (and some other pieces I had missed) into the enum proposal.
The file was modifieddoc/proposals/enums.md
Commit f9a0dd0ededb566dea1f3d1f79526bed77c8063d by Peter Buhr
fix length for juxtaposed strings: "ABC" "DEF"
The file was modifiedsrc/Parser/ExpressionNode.cpp
Commit 9a01745e06266b363221bee8eedb6c563702cf33 by Peter Buhr
add another attribute test
The file was modifiedtests/.expect/attributes.x64.txt
The file was modifiedtests/attributes.cfa
Commit 9b55aa3a1e4047e501ad55d95cfc61aab206ce42 by Peter Buhr
update expected for attribute test aarch64
The file was modifiedtests/.expect/attributes.arm64.txt
Commit 4ff7ea399fa9e13495f9b87399cfaa90956f0091 by Peter Buhr
update expected for attribute test x86
The file was modifiedtests/.expect/attributes.x86.txt
Commit 2980ccb81bba22ad3dcfcfd13e3857a6f2909ee3 by Peter Buhr
more proofreading of introduction chapter
The file was modifieddoc/theses/fangren_yu_MMath/intro.tex
Commit 5780d0daa4264756677240ebbf2a1ad74597dadb by ajbeach
Removed increment and decrement operators for enumerations from builtins. I am confident the generic fallbacks work because I added tests.
The file was modifiedtests/.expect/gccExtensions.x86.txt
The file was addedtests/enum_tests/inc-dec.cfa
The file was modifiedtests/.expect/extension.x64.txt
The file was addedtests/enum_tests/.expect/inc-dec.txt
The file was modifiedtests/.expect/gccExtensions.arm64.txt
The file was modifiedtests/.expect/KRfunctions.x86.txt
The file was modifiedtests/.expect/KRfunctions.arm64.txt
The file was modifiedtests/.expect/declarationSpecifier.x64.txt
The file was modifiedlibcfa/prelude/builtins.c
The file was modifiedtests/.expect/extension.x86.txt
The file was modifiedtests/.expect/KRfunctions.x64.txt
The file was modifiedtests/.expect/gccExtensions.x64.txt
The file was modifiedtests/.expect/declarationSpecifier.arm64.txt
The file was modifiedtests/.expect/declarationSpecifier.x86.txt
The file was modifiedtests/.expect/extension.arm64.txt
Commit faf9e1980e17d288281279a8ee128978108933dd by Michael Brooks
Explicate the present state for test-suite programs being free of warnings.

Now, test-suite compilation occurs in either strict or lax "wflags" mode.  Strict mode is equivalent to what used to be done for the `nowarn` folder, lax to the rest of the test suite.  Makefile.am now owns a list of tests that opt for lax wflags.  About 70% of the tests opt for lax.

Remove special handling for the `nowarn` folder.  Now, it simply does not appear on the opt-for-lax list.

Remove former tests
nowarn/fstream
nowarn/list
nowarn/string
because, respectively
io/io
list/dlist-insert-remove
collections/string-api-coverage
obviate them by getting strict wflags.
The file was removedtests/nowarn/list.cfa
The file was modifiedtests/Makefile.am
The file was removedtests/nowarn/.expect/list.txt
The file was removedtests/nowarn/string.cfa
The file was removedtests/nowarn/.expect/string.txt
The file was removedtests/nowarn/.expect/fstream.txt
The file was removedtests/nowarn/fstream.cfa
Commit e0330d2cd1a09857e7eda48e70140f0f25161679 by Michael Brooks
Remove unnecessary special case for zero_t in code gen that caused unused-variable warning in thunks.

Add instructions for tidying warnings (with the present zero_t case as its running example) as a "proposal."

The code gen change is safe because a corresponding case for one_t was always "missing" and the the variable at issue is never used meaningfully.  (Prior work has size_t lowered as int.  While that's a dubious choice, it's beyond what I'm fixing here.)

Mark these tests as now clean of warnings:
  array-collections/array-basic
  ctrl-flow/loopctrl
  vector
  vector_math/vec2_int
  vector_math/vec2_float
  vector_math/vec3_float
  vector_math/vec4_float
  zero_one
The file was modifiedsrc/CodeGen/CodeGenerator.cpp
The file was modifiedtests/array-collections/array-basic.cfa
The file was modifiedtests/Makefile.am
The file was addedtests/nowarn/.expect/zero-thunk.txt
The file was addeddoc/proposals/nowarn.md
The file was addedtests/nowarn/zero-thunk.cfa
Commit e0f3bd23f623d604f6d18aa73e89c0388f37e424 by Peter Buhr
remove warnings from alloc_internal$ in stdlib.hfa
The file was modifiedlibcfa/src/stdlib.hfa
Commit a65cd5e945fecac9d8b11730d6bc465aac99fb4a by Peter Buhr
put back parameter names in comments
The file was modifiedlibcfa/src/stdlib.hfa
Commit 956ad355a0628c1f890198e8dbe8aa3babcff706 by Peter Buhr
remove fixed tests from WFLGAS_OPT_LAX
The file was modifiedtests/Makefile.am
Commit df91e154efd3628ba991d611e95933a2583500c3 by Peter Buhr
change wflags-orig.txt to wflags-lax.txt
The file was modifieddoc/proposals/nowarn.md
Commit d3cf623098e72d98fd3ea76544061496946dbba4 by ajbeach
Solved the requested warning with exceptions. Also went through the exceptions tests and managed to remove about 2/3rds of them from the lax list that now either didn't have any warnings or warnings because of the test itself.
The file was modifiedtests/exceptions/data-except.cfa
The file was modifiedtests/exceptions/polymorphic.cfa
The file was modifiedtests/exceptions/trash.cfa
The file was modifiedtests/exceptions/cancel/coroutine.cfa
The file was modifiedtests/exceptions/defaults.cfa
The file was modifiedsrc/Virtual/Tables.cpp
The file was modifiedtests/Makefile.am
The file was modifiedtests/exceptions/try-ctrl-flow.cfa
The file was modifiedtests/exceptions/cancel/thread.cfa
The file was modifiedtests/exceptions/conditional.cfa
The file was modifiedtests/exceptions/interact.cfa
The file was modifiedtests/exceptions/virtual-cast.cfa
The file was modifiedtests/exceptions/terminate.cfa
The file was modifiedtests/exceptions/try-leave-catch.cfa
The file was modifiedtests/exceptions/resume.cfa
The file was modifiedtests/exceptions/finally.cfa
Commit b05d79dfa93934939aadd307627a2beecfefb986 by Michael Brooks
Try to get full build completing by disabling a data-collection substep.

In benchmarks/compile.csv, column 'attributes' is now showing hardcoded zero.

Also, add log comment to ease similar troubleshooting in the future.
The file was modifiedbenchmark/Makefile.am
Commit d9162ec9cf76ec3a23094dfca0cd12499ddaf8e9 by Michael Brooks
Fix test-classification commands to detect more strict-capable tests.  Remove such tests from the lax list.

Nothing about how to use the document is different, just what to paste.

Also, add back tests that give warnings only on release mode.
The file was modifieddoc/proposals/nowarn.md
Commit 584612d49519a520b9b9f6c479417deec445ec6a by Michael Brooks
Add file missed in d9162ec9
The file was modifiedtests/Makefile.am
Commit b12b1baa9706d4fd9b5c66a157ab809d9cdf268a by Michael Brooks
Add completion of work in progress mistakenly included in 584612d.  Fix test string-api-coverage to be warning free.
The file was modifiedtests/collections/string-api-coverage.cfa