Skip to content
This repository was archived by the owner on Mar 28, 2020. It is now read-only.

Commit 46498da

Browse files
AutomergerAutomerger
authored andcommitted
Propagating prior merge from 'llvm.org/master'.
2 parents 7eead0a + 9eac6ef commit 46498da

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+835
-281
lines changed

include/clang/AST/BaseSubobject.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,12 @@
1515
#define LLVM_CLANG_AST_BASESUBOBJECT_H
1616

1717
#include "clang/AST/CharUnits.h"
18+
#include "clang/AST/DeclCXX.h"
1819
#include "llvm/ADT/DenseMap.h"
1920
#include "llvm/Support/DataTypes.h"
2021
#include "llvm/Support/type_traits.h"
2122

2223
namespace clang {
23-
class CXXRecordDecl;
24-
2524
// BaseSubobject - Uniquely identifies a direct or indirect base class.
2625
// Stores both the base class decl and the offset from the most derived class to
2726
// the base class. Used for vtable and VTT generation.

include/clang/AST/DeclOpenMP.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
#include "clang/AST/DeclBase.h"
1919
#include "llvm/ADT/ArrayRef.h"
20+
#include "llvm/Support/TrailingObjects.h"
2021

2122
namespace clang {
2223
class Expr;

include/clang/AST/Mangle.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#ifndef LLVM_CLANG_AST_MANGLE_H
1515
#define LLVM_CLANG_AST_MANGLE_H
1616

17+
#include "clang/AST/Decl.h"
1718
#include "clang/AST/Type.h"
1819
#include "clang/Basic/ABI.h"
1920
#include "llvm/ADT/DenseMap.h"

include/clang/AST/TemplateName.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#ifndef LLVM_CLANG_AST_TEMPLATENAME_H
1515
#define LLVM_CLANG_AST_TEMPLATENAME_H
1616

17+
#include "clang/AST/NestedNameSpecifier.h"
1718
#include "clang/Basic/LLVM.h"
1819
#include "llvm/ADT/FoldingSet.h"
1920
#include "llvm/ADT/PointerUnion.h"

include/clang/Basic/Attr.td

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -883,8 +883,8 @@ def MipsInterrupt : InheritableAttr, TargetSpecificAttr<TargetMips> {
883883

884884
def Mode : Attr {
885885
let Spellings = [GCC<"mode">];
886-
let Subjects = SubjectList<[Var, TypedefName, Field], ErrorDiag,
887-
"ExpectedVariableFieldOrTypedef">;
886+
let Subjects = SubjectList<[Var, Enum, TypedefName, Field], ErrorDiag,
887+
"ExpectedVariableEnumFieldOrTypedef">;
888888
let Args = [IdentifierArgument<"Mode">];
889889
let Documentation = [Undocumented];
890890
}

include/clang/Basic/DiagnosticFrontendKinds.td

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,10 @@ def remark_fe_backend_optimization_remark_analysis_aliasing : Remark<"%0; "
5858
BackendInfo, InGroup<BackendOptimizationRemarkAnalysis>;
5959
def warn_fe_backend_optimization_failure : Warning<"%0">, BackendInfo,
6060
InGroup<BackendOptimizationFailure>, DefaultWarn;
61-
def note_fe_backend_optimization_remark_invalid_loc : Note<"could "
62-
"not determine the original source location for %0:%1:%2">;
61+
def note_fe_backend_invalid_loc : Note<"could "
62+
"not determine the original source location for %0:%1:%2">, BackendInfo;
63+
64+
def err_fe_backend_unsupported : Error<"%0">, BackendInfo;
6365

6466
def remark_sanitize_address_insert_extra_padding_accepted : Remark<
6567
"-fsanitize-address-field-padding applied to %0">, ShowInSystemHeader,

include/clang/Basic/DiagnosticSemaKinds.td

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2450,7 +2450,7 @@ def warn_attribute_wrong_decl_type : Warning<
24502450
"variables, functions and classes|Objective-C protocols|"
24512451
"functions and global variables|structs, unions, and typedefs|structs and typedefs|"
24522452
"interface or protocol declarations|kernel functions|non-K&R-style functions|"
2453-
"variables, fields and typedefs}1">,
2453+
"variables, enums, fields and typedefs}1">,
24542454
InGroup<IgnoredAttributes>;
24552455
def err_attribute_wrong_decl_type : Error<warn_attribute_wrong_decl_type.Text>;
24562456
def warn_type_attribute_wrong_type : Warning<
@@ -2863,6 +2863,8 @@ def warn_vector_mode_deprecated : Warning<
28632863
InGroup<DeprecatedAttributes>;
28642864
def err_complex_mode_vector_type : Error<
28652865
"type of machine mode does not support base vector types">;
2866+
def err_enum_mode_vector_type : Error<
2867+
"mode %0 is not supported for enumeration types">;
28662868
def warn_attribute_nonnull_no_pointers : Warning<
28672869
"'nonnull' attribute applied to function with no pointer arguments">,
28682870
InGroup<IgnoredAttributes>;

include/clang/Basic/arm_neon.td

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -824,7 +824,10 @@ def VREINTERPRET
824824
////////////////////////////////////////////////////////////////////////////////
825825
// Vector fused multiply-add operations
826826

827-
def VFMA : SInst<"vfma", "dddd", "fQf">;
827+
let ArchGuard = "defined(__ARM_FEATURE_FMA)" in {
828+
def VFMA : SInst<"vfma", "dddd", "fQf">;
829+
def VFMS : SInst<"vfms", "dddd", "fQf">;
830+
}
828831

829832
////////////////////////////////////////////////////////////////////////////////
830833
// fp16 vector operations
@@ -908,7 +911,7 @@ def FDIV : IOpInst<"vdiv", "ddd", "fdQfQd", OP_DIV>;
908911
////////////////////////////////////////////////////////////////////////////////
909912
// Vector fused multiply-add operations
910913
def FMLA : SInst<"vfma", "dddd", "dQd">;
911-
def FMLS : SInst<"vfms", "dddd", "fdQfQd">;
914+
def FMLS : SInst<"vfms", "dddd", "dQd">;
912915

913916
////////////////////////////////////////////////////////////////////////////////
914917
// MUL, MLA, MLS, FMA, FMS definitions with scalar argument
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
//===--- DebugInfoKind.h - Debug Info Emission Types ------------*- C++ -*-===//
2+
//
3+
// The LLVM Compiler Infrastructure
4+
//
5+
// This file is distributed under the University of Illinois Open Source
6+
// License. See LICENSE.TXT for details.
7+
//
8+
//===----------------------------------------------------------------------===//
9+
10+
#ifndef LLVM_CLANG_DRIVER_DEBUGINFOKIND_H
11+
#define LLVM_CLANG_DRIVER_DEBUGINFOKIND_H
12+
13+
namespace clang {
14+
namespace codegenoptions {
15+
16+
enum DebugInfoKind {
17+
NoDebugInfo, /// Don't generate debug info.
18+
LocTrackingOnly, /// Emit location information but do not generate
19+
/// debug info in the output. This is useful in
20+
/// cases where the backend wants to track source
21+
/// locations for instructions without actually
22+
/// emitting debug info for them (e.g., when -Rpass
23+
/// is used).
24+
DebugLineTablesOnly, /// Emit only debug info necessary for generating
25+
/// line number tables (-gline-tables-only).
26+
LimitedDebugInfo, /// Limit generated debug info to reduce size
27+
/// (-fno-standalone-debug). This emits
28+
/// forward decls for types that could be
29+
/// replaced with forward decls in the source
30+
/// code. For dynamic C++ classes type info
31+
/// is only emitted int the module that
32+
/// contains the classe's vtable.
33+
FullDebugInfo /// Generate complete debug info.
34+
};
35+
36+
} // end namespace codegenoptions
37+
} // end namespace clang
38+
39+
#endif

include/clang/Frontend/CodeGenOptions.def

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ VALUE_CODEGENOPT(NumRegisterParameters, 32, 0)
185185
VALUE_CODEGENOPT(SSPBufferSize, 32, 0)
186186

187187
/// The kind of generated debug info.
188-
ENUM_CODEGENOPT(DebugInfo, DebugInfoKind, 3, NoDebugInfo)
188+
ENUM_CODEGENOPT(DebugInfo, codegenoptions::DebugInfoKind, 3, codegenoptions::NoDebugInfo)
189189

190190
/// Tune the debug info for this debugger.
191191
ENUM_CODEGENOPT(DebuggerTuning, DebuggerKind, 2, DebuggerKindDefault)

0 commit comments

Comments
 (0)