[llvm] 6e46545 - Fix warning on align directives with non-zero fill value (#67237)

via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 27 06:35:31 PDT 2023


Author: Luís Marques
Date: 2023-09-27T14:35:26+01:00
New Revision: 6e46545b981437cc9316e6496c03756a19db6975

URL: https://github.com/llvm/llvm-project/commit/6e46545b981437cc9316e6496c03756a19db6975
DIFF: https://github.com/llvm/llvm-project/commit/6e46545b981437cc9316e6496c03756a19db6975.diff

LOG: Fix warning on align directives with non-zero fill value (#67237)

Added: 
    

Modified: 
    llvm/lib/MC/MCParser/AsmParser.cpp
    llvm/test/MC/ELF/nobits-non-zero-value.s

Removed: 
    


################################################################################
diff  --git a/llvm/lib/MC/MCParser/AsmParser.cpp b/llvm/lib/MC/MCParser/AsmParser.cpp
index 15ba96b84fa4701..b36c5f067a95392 100644
--- a/llvm/lib/MC/MCParser/AsmParser.cpp
+++ b/llvm/lib/MC/MCParser/AsmParser.cpp
@@ -3452,7 +3452,7 @@ bool AsmParser::parseDirectiveAlign(bool IsPow2, unsigned ValueSize) {
     }
   }
 
-  if (HasFillExpr) {
+  if (HasFillExpr && FillExpr != 0) {
     MCSection *Sec = getStreamer().getCurrentSectionOnly();
     if (Sec && Sec->isVirtualSection()) {
       ReturnVal |=

diff  --git a/llvm/test/MC/ELF/nobits-non-zero-value.s b/llvm/test/MC/ELF/nobits-non-zero-value.s
index 8f37a957b6b56c0..9b2bea6278e6955 100644
--- a/llvm/test/MC/ELF/nobits-non-zero-value.s
+++ b/llvm/test/MC/ELF/nobits-non-zero-value.s
@@ -15,5 +15,8 @@
 # CHECK: {{.*}}.s:[[#@LINE+1]]:11: warning: ignoring non-zero fill value in SHT_NOBITS section '.bss'
 .align 4, 42
 
+# CHECK-NOT: {{.*}}.s:[[#@LINE+1]]:11: warning: ignoring non-zero fill value in SHT_NOBITS section '.bss'
+.align 4, 0
+
 # CHECK: <unknown>:0: error: SHT_NOBITS section '.bss' cannot have non-zero initializers
   .long 1


        


More information about the llvm-commits mailing list