[all-commits] [llvm/llvm-project] 708808: [Sema] Add check for bitfield assignments to integ...
vabridgers via All-commits
all-commits at lists.llvm.org
Wed Oct 18 09:40:20 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 708808e8532e7c3647356aec0664fcf94b1093d1
https://github.com/llvm/llvm-project/commit/708808e8532e7c3647356aec0664fcf94b1093d1
Author: vabridgers <58314289+vabridgers at users.noreply.github.com>
Date: 2023-10-18 (Wed, 18 Oct 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
A clang/test/SemaCXX/bitfield-width.c
Log Message:
-----------
[Sema] Add check for bitfield assignments to integral types (#69049)
This change introduces the bitfield conversion check after fixes to the
test case. The original submission unfortunately did not comprehend
differences in architecture for the diagnostic messages, leading to
unanticipated failures in the arm build bots.
Original PR: https://github.com/llvm/llvm-project/pull/68276
Clang does not check for bitfield assignment widths, while gcc checks
this.
gcc produced a warning like so for it's -Wconversion flag:
```
$ gcc -Wconversion -c test.c
test.c: In function 'foo':
test.c:10:15: warning: conversion from 'int' to 'signed char:7' may
change value [-Wconversion]
10 | vxx.bf = x; // no warning
| ^
```
This change simply adds this check for integral types under the
-Wbitfield-conversion compiler option.
More information about the All-commits
mailing list