svn commit: r247157 - stable/9/contrib/llvm/lib/MC/MCParser

Dimitry Andric dim at FreeBSD.org
Fri Feb 22 18:35:41 UTC 2013


Author: dim
Date: Fri Feb 22 18:35:40 2013
New Revision: 247157
URL: http://svnweb.freebsd.org/changeset/base/247157

Log:
  MFC r247003:
  
  Pull in r175360 from upstream llvm trunk:
  
    MCParser: Reject .balign with non-pow2 alignments.
  
    GNU as rejects them and there are configure scripts in the wild that
    check if the assembler rejects ".align 3" to determine whether the
    alignment is in bytes or powers of two.

Modified:
  stable/9/contrib/llvm/lib/MC/MCParser/AsmParser.cpp
Directory Properties:
  stable/9/contrib/llvm/   (props changed)

Modified: stable/9/contrib/llvm/lib/MC/MCParser/AsmParser.cpp
==============================================================================
--- stable/9/contrib/llvm/lib/MC/MCParser/AsmParser.cpp	Fri Feb 22 18:33:42 2013	(r247156)
+++ stable/9/contrib/llvm/lib/MC/MCParser/AsmParser.cpp	Fri Feb 22 18:35:40 2013	(r247157)
@@ -2372,6 +2372,10 @@ bool AsmParser::ParseDirectiveAlign(bool
     }
 
     Alignment = 1ULL << Alignment;
+  } else {
+    // Reject alignments that aren't a power of two, for gas compatibility.
+    if (!isPowerOf2_64(Alignment))
+      Error(AlignmentLoc, "alignment must be a power of 2");
   }
 
   // Diagnose non-sensical max bytes to align.


More information about the svn-src-stable-9 mailing list