Go to file
Simon Atanasyan 84242dc774 [YAML] Add an optional argument `EnumMask` to the `yaml::IO::bitSetCase()`.
Some bit-set fields used in ELF file headers in fact contain two parts.
The first one is a regular bit-field. The second one is an enumeraion.
For example ELF header `e_flags` for MIPS target might contain the
following values:

Bit-set values:

  EF_MIPS_NOREORDER = 0x00000001
  EF_MIPS_PIC       = 0x00000002
  EF_MIPS_CPIC      = 0x00000004
  EF_MIPS_ABI2      = 0x00000020

Enumeration:

  EF_MIPS_ARCH_32   = 0x50000000
  EF_MIPS_ARCH_64   = 0x60000000
  EF_MIPS_ARCH_32R2 = 0x70000000
  EF_MIPS_ARCH_64R2 = 0x80000000

For printing bit-sets we use the `yaml::IO::bitSetCase()`. It does not
support bit-set/enumeration combinations and prints too many flags from
an enumeration part. This patch fixes this problem. New method
`yaml::IO::maskedBitSetCase()` handle "enumeration" part of bitset
defined by provided mask.

Patch reviewed by Nick Kledzik and Sean Silva.

llvm-svn: 209504
2014-05-23 08:07:09 +00:00
clang Fix '-main-file-name <name>' so that it is used for the ModuleID. 2014-05-23 07:34:08 +00:00
clang-tools-extra Update the code according to the changes in r209468. 2014-05-22 20:19:46 +00:00
compiler-rt [TSan] ifdef out certain functions if 128-bit ints are not supported. 2014-05-22 22:02:38 +00:00
debuginfo-tests relax testcase for LLDB output format compatibility. 2014-03-19 23:06:18 +00:00
libclc Fix build broken by LLVM commit r207593 2014-04-30 18:35:20 +00:00
libcxx Fix Bug 19678 - libc++ does not correctly handle the regex: '[^\0]*' 2014-05-21 16:29:50 +00:00
libcxxabi Fix typo in comment. 2014-05-14 17:16:57 +00:00
lld Use short identifier. 2014-05-23 03:08:05 +00:00
lldb Fixed the Symbol code to resolve the callable address 2014-05-23 02:30:48 +00:00
llvm [YAML] Add an optional argument `EnumMask` to the `yaml::IO::bitSetCase()`. 2014-05-23 08:07:09 +00:00
openmp Add testsuite from OpenUH 2014-05-10 17:02:09 +00:00
polly polly: update for LLVM API change 2014-05-19 03:55:49 +00:00