1. Feb 02, 2024
    • Emma Pilkington's avatar
      [llvm-objdump][AMDGPU] Pass ELF ABIVersion through disassembler (#78907) · 4eb08109
      Emma Pilkington authored
      Admittedly, its a bit ugly to pass the ABIVersion through onSymbolStart
      but I'm not sure what a better place for it would be.
      4eb08109
    • Amir Ayupov's avatar
    • Anatoly Trosinenko's avatar
      [AArch64] Make +pauth enabled in Armv8.3-a by default (#78027) · a52eea66
      Anatoly Trosinenko authored
      Add AEK_PAUTH to ARMV8_3A in TargetParser and let it propagate to
      ARMV8R, as it aligns with GCC defaults.
      
      After adding AEK_PAUTH, several tests from TargetParserTest.cpp crashed
      when trying to format an error message, thus update a format string in
      AssertSameExtensionFlags to account for bitmask being pre-formatted as
      std::string.
      
      The CHECK-PAUTH* lines in aarch64-target-features.c are updated to
      account for the fact that FEAT_PAUTH support and pac-ret can be enabled
      independently and all four combinations are possible.
      a52eea66
    • Krystian Stasiowski's avatar
      [Clang][Parse] Diagnose member template declarations with multiple declarators (#78243) · c5f46191
      Krystian Stasiowski authored
      According to [temp.pre] p5:
      > In a template-declaration, explicit specialization, or explicit instantiation the init-declarator-list in the declaration shall contain at most one declarator. 
      
      A member-declaration that is a template-declaration or explicit-specialization contains a declaration, even though it declares a member. This means it _will_ contain an init-declarator-list (not a member-declarator-list), so [temp.pre] p5 applies.
      
      This diagnoses declarations such as:
      ```
      struct A
      {
          template<typename T>
          static const int x = 0, f(); // error: a template declaration can only declare a single entity
      
          template<typename T>
          static const int g(), y = 0; // error: a template declaration can only declare a single entity
      };
      ```
      The diagnostic messages are the same as those of the equivalent namespace scope declarations.
      
      Note: since we currently do not diagnose declarations with multiple abbreviated function template declarators at namespace scope e.g., `void f(auto), g(auto);`, so this patch does not add diagnostics for the equivalent member declarations.
      
      This patch also refactors `ParseSingleDeclarationAfterTemplate` (now named `ParseDeclarationAfterTemplate`) to call `ParseDeclGroup` and return the resultant `DeclGroup`.
      c5f46191
    • Ilya Biryukov's avatar
      [Sema] Fix crash in __datasizeof with unknown types (#80300) · 9acd61ec
      Ilya Biryukov authored
      Fixes #80284.
      
      Calling `getASTRecordLayout` on invalid types may crash and results of
      `__datasizeof` on invalid types can be arbitrary, so just use whatever
      `sizeof` returns.
      9acd61ec
    • Simon Pilgrim's avatar
      [X86] X86FixupVectorConstants.cpp - refactor constant search loop to take... · 6ac4fe8d
      Simon Pilgrim authored
      [X86] X86FixupVectorConstants.cpp - refactor constant search loop to take array of sorted candidates
      
      Pulled out of #79815 - refactors the internal FixupConstant logic to just accept an array of vzload/broadcast candidates that are pre-sorted in ascending constant pool size
      6ac4fe8d
  2. Feb 01, 2024