Skip to content

Commit 3a57c86

Browse files
SC llvm teamSC llvm team
SC llvm team
authored and
SC llvm team
committed
Merged main:f949b036610afe56fddde724ee01f64dd79814d3 into amd-gfx:00d817b95f5b
Local branch amd-gfx 00d817b Merged main:40c2aaf54e9a7b5c560bb68796d444180ad67b5d into amd-gfx:86625b660a80 Remote branch main f949b03 [llvm-readobj][NFC] Dont use startLine in a middle of a line in ObjDumper. (llvm#102071)
2 parents 00d817b + f949b03 commit 3a57c86

File tree

233 files changed

+16550
-1629
lines changed

Some content is hidden

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

233 files changed

+16550
-1629
lines changed

clang-tools-extra/clang-tidy/tool/CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ clang_target_link_libraries(clangTidyMain
3333
# Support plugins.
3434
if(CLANG_PLUGIN_SUPPORT)
3535
set(support_plugins SUPPORT_PLUGINS)
36-
set(export_symbols EXPORT_SYMBOLS_FOR_PLUGINS)
3736
endif()
3837

3938
add_clang_tool(clang-tidy
@@ -42,7 +41,6 @@ add_clang_tool(clang-tidy
4241
DEPENDS
4342
clang-resource-headers
4443
${support_plugins}
45-
${export_symbols}
4644
)
4745
clang_target_link_libraries(clang-tidy
4846
PRIVATE
@@ -59,6 +57,10 @@ target_link_libraries(clang-tidy
5957
${ALL_CLANG_TIDY_CHECKS}
6058
)
6159

60+
if(CLANG_PLUGIN_SUPPORT)
61+
export_executable_symbols_for_plugins(clang-tidy)
62+
endif()
63+
6264
install(PROGRAMS clang-tidy-diff.py
6365
DESTINATION "${CMAKE_INSTALL_DATADIR}/clang"
6466
COMPONENT clang-tidy)

clang/docs/OpenMPSupport.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,5 +363,7 @@ considered for standardization. Please post on the
363363
| device extension | `'ompx_bare' clause on 'target teams' construct | :good:`prototyped` | #66844, #70612 |
364364
| | <https://www.osti.gov/servlets/purl/2205717>`_ | | |
365365
+------------------------------+-----------------------------------------------------------------------------------+--------------------------+--------------------------------------------------------+
366+
| device extension | Multi-dim `'num_teams' clause on 'target teams ompx_bare' construct | :good:`partial` | #99732, #101407 |
367+
+------------------------------+-----------------------------------------------------------------------------------+--------------------------+--------------------------------------------------------+
366368

367369
.. _Discourse forums (Runtimes - OpenMP category): https://discourse.llvm.org/c/runtimes/openmp/35

clang/docs/ReleaseNotes.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ These changes are ones which we think may surprise users when upgrading to
3737
Clang |release| because of the opportunity they pose for disruption to existing
3838
code bases.
3939

40+
- The ``le32`` and ``le64`` targets have been removed.
41+
4042
C/C++ Language Potentially Breaking Changes
4143
-------------------------------------------
4244

@@ -188,6 +190,7 @@ Bug Fixes to C++ Support
188190
- Fix init-capture packs having a size of one before being instantiated. (#GH63677)
189191
- Clang now preserves the unexpanded flag in a lambda transform used for pack expansion. (#GH56852), (#GH85667),
190192
(#GH99877).
193+
- Fixed a bug when diagnosing ambiguous explicit specializations of constrained member functions.
191194

192195
Bug Fixes to AST Handling
193196
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -331,6 +334,9 @@ Improvements
331334
^^^^^^^^^^^^
332335
- Improve the handling of mapping array-section for struct containing nested structs with user defined mappers
333336

337+
- `num_teams` now accepts multiple expressions when it is used along in ``target teams ompx_bare`` construct.
338+
This allows the target region to be launched with multi-dim grid on GPUs.
339+
334340
Additional Information
335341
======================
336342

clang/docs/StandardCPlusPlusModules.rst

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,16 @@ BMIs cannot be shipped in an archive to create a module library. Instead, the
398398
BMIs(``*.pcm``) are compiled into object files(``*.o``) and those object files
399399
are added to the archive instead.
400400

401+
clang-cl
402+
~~~~~~~~
403+
404+
``clang-cl`` supports the same options as ``clang++`` for modules as detailed above;
405+
there is no need to prefix these options with ``/clang:``. Note that ``cl.exe``
406+
`options to emit/consume IFC files <https://devblogs.microsoft.com/cppblog/using-cpp-modules-in-msvc-from-the-command-line-part-1/>` are *not* supported.
407+
The resultant precompiled modules are also not compatible for use with ``cl.exe``.
408+
409+
We recommend that build system authors use the above-mentioned ``clang++`` options with ``clang-cl`` to build modules.
410+
401411
Consistency Requirements
402412
~~~~~~~~~~~~~~~~~~~~~~~~
403413

@@ -1387,13 +1397,6 @@ have ``.cppm`` (or ``.ccm``, ``.cxxm``, ``.c++m``) as the file extension.
13871397
However, the behavior is inconsistent with other compilers. This is tracked by
13881398
`#57416 <https://github.com/llvm/llvm-project/issues/57416>`_.
13891399

1390-
clang-cl is not compatible with standard C++ modules
1391-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1392-
1393-
``/clang:-fmodule-file`` and ``/clang:-fprebuilt-module-path`` cannot be used
1394-
to specify the BMI with ``clang-cl.exe``. This is tracked by
1395-
`#64118 <https://github.com/llvm/llvm-project/issues/64118>`_.
1396-
13971400
Incorrect ODR violation diagnostics
13981401
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13991402

clang/docs/UsersManual.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4745,6 +4745,12 @@ Execute ``clang-cl /?`` to see a list of supported options:
47454745
-flto=<value> Set LTO mode to either 'full' or 'thin'
47464746
-flto Enable LTO in 'full' mode
47474747
-fmerge-all-constants Allow merging of constants
4748+
-fmodule-file=<module_name>=<module-file>
4749+
Use the specified module file that provides the module <module_name>
4750+
-fmodule-header=<header>
4751+
Build <header> as a C++20 header unit
4752+
-fmodule-output=<path>
4753+
Save intermediate module file results when compiling a standard C++ module unit.
47484754
-fms-compatibility-version=<value>
47494755
Dot-separated value representing the Microsoft compiler version
47504756
number to report in _MSC_VER (0 = don't define it; default is same value as installed cl.exe, or 1933)

clang/docs/tools/clang-formatted-files.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,6 @@ clang/lib/Basic/Targets/BPF.cpp
362362
clang/lib/Basic/Targets/BPF.h
363363
clang/lib/Basic/Targets/Hexagon.h
364364
clang/lib/Basic/Targets/Lanai.h
365-
clang/lib/Basic/Targets/Le64.h
366365
clang/lib/Basic/Targets/M68k.h
367366
clang/lib/Basic/Targets/MSP430.h
368367
clang/lib/Basic/Targets/NVPTX.cpp

clang/include/clang/AST/OpenMPClause.h

Lines changed: 48 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -6369,60 +6369,77 @@ class OMPMapClause final : public OMPMappableExprListClause<OMPMapClause>,
63696369
/// \endcode
63706370
/// In this example directive '#pragma omp teams' has clause 'num_teams'
63716371
/// with single expression 'n'.
6372-
class OMPNumTeamsClause : public OMPClause, public OMPClauseWithPreInit {
6373-
friend class OMPClauseReader;
6372+
///
6373+
/// When 'ompx_bare' clause exists on a 'target' directive, 'num_teams' clause
6374+
/// can accept up to three expressions.
6375+
///
6376+
/// \code
6377+
/// #pragma omp target teams ompx_bare num_teams(x, y, z)
6378+
/// \endcode
6379+
class OMPNumTeamsClause final
6380+
: public OMPVarListClause<OMPNumTeamsClause>,
6381+
public OMPClauseWithPreInit,
6382+
private llvm::TrailingObjects<OMPNumTeamsClause, Expr *> {
6383+
friend OMPVarListClause;
6384+
friend TrailingObjects;
63746385

63756386
/// Location of '('.
63766387
SourceLocation LParenLoc;
63776388

6378-
/// NumTeams number.
6379-
Stmt *NumTeams = nullptr;
6389+
OMPNumTeamsClause(const ASTContext &C, SourceLocation StartLoc,
6390+
SourceLocation LParenLoc, SourceLocation EndLoc, unsigned N)
6391+
: OMPVarListClause(llvm::omp::OMPC_num_teams, StartLoc, LParenLoc, EndLoc,
6392+
N),
6393+
OMPClauseWithPreInit(this) {}
63806394

6381-
/// Set the NumTeams number.
6382-
///
6383-
/// \param E NumTeams number.
6384-
void setNumTeams(Expr *E) { NumTeams = E; }
6395+
/// Build an empty clause.
6396+
OMPNumTeamsClause(unsigned N)
6397+
: OMPVarListClause(llvm::omp::OMPC_num_teams, SourceLocation(),
6398+
SourceLocation(), SourceLocation(), N),
6399+
OMPClauseWithPreInit(this) {}
63856400

63866401
public:
6387-
/// Build 'num_teams' clause.
6402+
/// Creates clause with a list of variables \a VL.
63886403
///
6389-
/// \param E Expression associated with this clause.
6390-
/// \param HelperE Helper Expression associated with this clause.
6391-
/// \param CaptureRegion Innermost OpenMP region where expressions in this
6392-
/// clause must be captured.
6404+
/// \param C AST context.
63936405
/// \param StartLoc Starting location of the clause.
63946406
/// \param LParenLoc Location of '('.
63956407
/// \param EndLoc Ending location of the clause.
6396-
OMPNumTeamsClause(Expr *E, Stmt *HelperE, OpenMPDirectiveKind CaptureRegion,
6397-
SourceLocation StartLoc, SourceLocation LParenLoc,
6398-
SourceLocation EndLoc)
6399-
: OMPClause(llvm::omp::OMPC_num_teams, StartLoc, EndLoc),
6400-
OMPClauseWithPreInit(this), LParenLoc(LParenLoc), NumTeams(E) {
6401-
setPreInitStmt(HelperE, CaptureRegion);
6402-
}
6408+
/// \param VL List of references to the variables.
6409+
/// \param PreInit
6410+
static OMPNumTeamsClause *
6411+
Create(const ASTContext &C, OpenMPDirectiveKind CaptureRegion,
6412+
SourceLocation StartLoc, SourceLocation LParenLoc,
6413+
SourceLocation EndLoc, ArrayRef<Expr *> VL, Stmt *PreInit);
64036414

6404-
/// Build an empty clause.
6405-
OMPNumTeamsClause()
6406-
: OMPClause(llvm::omp::OMPC_num_teams, SourceLocation(),
6407-
SourceLocation()),
6408-
OMPClauseWithPreInit(this) {}
6415+
/// Creates an empty clause with \a N variables.
6416+
///
6417+
/// \param C AST context.
6418+
/// \param N The number of variables.
6419+
static OMPNumTeamsClause *CreateEmpty(const ASTContext &C, unsigned N);
64096420

64106421
/// Sets the location of '('.
64116422
void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
64126423

64136424
/// Returns the location of '('.
64146425
SourceLocation getLParenLoc() const { return LParenLoc; }
64156426

6416-
/// Return NumTeams number.
6417-
Expr *getNumTeams() { return cast<Expr>(NumTeams); }
6427+
/// Return NumTeams expressions.
6428+
ArrayRef<Expr *> getNumTeams() { return getVarRefs(); }
64186429

6419-
/// Return NumTeams number.
6420-
Expr *getNumTeams() const { return cast<Expr>(NumTeams); }
6430+
/// Return NumTeams expressions.
6431+
ArrayRef<Expr *> getNumTeams() const {
6432+
return const_cast<OMPNumTeamsClause *>(this)->getNumTeams();
6433+
}
64216434

6422-
child_range children() { return child_range(&NumTeams, &NumTeams + 1); }
6435+
child_range children() {
6436+
return child_range(reinterpret_cast<Stmt **>(varlist_begin()),
6437+
reinterpret_cast<Stmt **>(varlist_end()));
6438+
}
64236439

64246440
const_child_range children() const {
6425-
return const_child_range(&NumTeams, &NumTeams + 1);
6441+
auto Children = const_cast<OMPNumTeamsClause *>(this)->children();
6442+
return const_child_range(Children.begin(), Children.end());
64266443
}
64276444

64286445
child_range used_children() {

clang/include/clang/AST/RecursiveASTVisitor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3828,8 +3828,8 @@ bool RecursiveASTVisitor<Derived>::VisitOMPMapClause(OMPMapClause *C) {
38283828
template <typename Derived>
38293829
bool RecursiveASTVisitor<Derived>::VisitOMPNumTeamsClause(
38303830
OMPNumTeamsClause *C) {
3831+
TRY_TO(VisitOMPClauseList(C));
38313832
TRY_TO(VisitOMPClauseWithPreInit(C));
3832-
TRY_TO(TraverseStmt(C->getNumTeams()));
38333833
return true;
38343834
}
38353835

clang/include/clang/Basic/AttributeCommonInfo.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -191,12 +191,6 @@ class AttributeCommonInfo {
191191
/// __gnu__::__attr__ will be normalized to gnu::attr).
192192
std::string getNormalizedFullName() const;
193193

194-
/// Generate a normalized full name, with syntax, scope and name.
195-
static std::string
196-
normalizeFullNameWithSyntax(const IdentifierInfo *Name,
197-
const IdentifierInfo *Scope,
198-
AttributeCommonInfo::Syntax SyntaxUsed);
199-
200194
bool isDeclspecAttribute() const { return SyntaxUsed == AS_Declspec; }
201195
bool isMicrosoftAttribute() const { return SyntaxUsed == AS_Microsoft; }
202196

clang/include/clang/Basic/BuiltinsX86.def

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2179,6 +2179,44 @@ TARGET_BUILTIN(__builtin_ia32_vminmaxps512_round_mask, "V16fV16fV16fIiV16fUsIi",
21792179
TARGET_BUILTIN(__builtin_ia32_vminmaxsd_round_mask, "V2dV2dV2dIiV2dUcIi", "nV:128:", "avx10.2-256")
21802180
TARGET_BUILTIN(__builtin_ia32_vminmaxsh_round_mask, "V8xV8xV8xIiV8xUcIi", "nV:128:", "avx10.2-256")
21812181
TARGET_BUILTIN(__builtin_ia32_vminmaxss_round_mask, "V4fV4fV4fIiV4fUcIi", "nV:128:", "avx10.2-256")
2182+
2183+
// AVX10.2 SATCVT
2184+
TARGET_BUILTIN(__builtin_ia32_vcvtnebf162ibs128, "V8UsV8y", "nV:128:", "avx10.2-256")
2185+
TARGET_BUILTIN(__builtin_ia32_vcvtnebf162ibs256, "V16UsV16y", "nV:256:", "avx10.2-256")
2186+
TARGET_BUILTIN(__builtin_ia32_vcvtnebf162ibs512, "V32UsV32y", "nV:512:", "avx10.2-512")
2187+
TARGET_BUILTIN(__builtin_ia32_vcvtnebf162iubs128, "V8UsV8y", "nV:128:", "avx10.2-256")
2188+
TARGET_BUILTIN(__builtin_ia32_vcvtnebf162iubs256, "V16UsV16y", "nV:256:", "avx10.2-256")
2189+
TARGET_BUILTIN(__builtin_ia32_vcvtnebf162iubs512, "V32UsV32y", "nV:512:", "avx10.2-512")
2190+
TARGET_BUILTIN(__builtin_ia32_vcvtph2ibs128_mask, "V8UsV8xV8UsUc", "nV:128:", "avx10.2-256")
2191+
TARGET_BUILTIN(__builtin_ia32_vcvtph2ibs256_mask, "V16UsV16xV16UsUsIi", "nV:256:", "avx10.2-256")
2192+
TARGET_BUILTIN(__builtin_ia32_vcvtph2ibs512_mask, "V32UsV32xV32UsUiIi", "nV:512:", "avx10.2-512")
2193+
TARGET_BUILTIN(__builtin_ia32_vcvtph2iubs128_mask, "V8UsV8xV8UsUc", "nV:128:", "avx10.2-256")
2194+
TARGET_BUILTIN(__builtin_ia32_vcvtph2iubs256_mask, "V16UsV16xV16UsUsIi", "nV:256:", "avx10.2-256")
2195+
TARGET_BUILTIN(__builtin_ia32_vcvtph2iubs512_mask, "V32UsV32xV32UsUiIi", "nV:512:", "avx10.2-512")
2196+
TARGET_BUILTIN(__builtin_ia32_vcvtps2ibs128_mask, "V4UiV4fV4UiUc", "nV:128:", "avx10.2-256")
2197+
TARGET_BUILTIN(__builtin_ia32_vcvtps2ibs256_mask, "V8UiV8fV8UiUcIi", "nV:256:", "avx10.2-256")
2198+
TARGET_BUILTIN(__builtin_ia32_vcvtps2ibs512_mask, "V16UiV16fV16UiUsIi", "nV:512:", "avx10.2-512")
2199+
TARGET_BUILTIN(__builtin_ia32_vcvtps2iubs128_mask, "V4UiV4fV4UiUc", "nV:128:", "avx10.2-256")
2200+
TARGET_BUILTIN(__builtin_ia32_vcvtps2iubs256_mask, "V8UiV8fV8UiUcIi", "nV:256:", "avx10.2-256")
2201+
TARGET_BUILTIN(__builtin_ia32_vcvtps2iubs512_mask, "V16UiV16fV16UiUsIi", "nV:512:", "avx10.2-512")
2202+
TARGET_BUILTIN(__builtin_ia32_vcvttnebf162ibs128, "V8UsV8y", "nV:128:", "avx10.2-256")
2203+
TARGET_BUILTIN(__builtin_ia32_vcvttnebf162ibs256, "V16UsV16y", "nV:256:", "avx10.2-256")
2204+
TARGET_BUILTIN(__builtin_ia32_vcvttnebf162ibs512, "V32UsV32y", "nV:512:", "avx10.2-512")
2205+
TARGET_BUILTIN(__builtin_ia32_vcvttnebf162iubs128, "V8UsV8y", "nV:128:", "avx10.2-256")
2206+
TARGET_BUILTIN(__builtin_ia32_vcvttnebf162iubs256, "V16UsV16y", "nV:256:", "avx10.2-256")
2207+
TARGET_BUILTIN(__builtin_ia32_vcvttnebf162iubs512, "V32UsV32y", "nV:512:", "avx10.2-512")
2208+
TARGET_BUILTIN(__builtin_ia32_vcvttph2ibs128_mask, "V8UsV8xV8UsUc", "nV:128:", "avx10.2-256")
2209+
TARGET_BUILTIN(__builtin_ia32_vcvttph2ibs256_mask, "V16UsV16xV16UsUsIi", "nV:256:", "avx10.2-256")
2210+
TARGET_BUILTIN(__builtin_ia32_vcvttph2ibs512_mask, "V32UsV32xV32UsUiIi", "nV:512:", "avx10.2-512")
2211+
TARGET_BUILTIN(__builtin_ia32_vcvttph2iubs128_mask, "V8UsV8xV8UsUc", "nV:128:", "avx10.2-256")
2212+
TARGET_BUILTIN(__builtin_ia32_vcvttph2iubs256_mask, "V16UsV16xV16UsUsIi", "nV:256:", "avx10.2-256")
2213+
TARGET_BUILTIN(__builtin_ia32_vcvttph2iubs512_mask, "V32UsV32xV32UsUiIi", "nV:512:", "avx10.2-512")
2214+
TARGET_BUILTIN(__builtin_ia32_vcvttps2ibs128_mask, "V4UiV4fV4UiUc", "nV:128:", "avx10.2-256")
2215+
TARGET_BUILTIN(__builtin_ia32_vcvttps2ibs256_mask, "V8UiV8fV8UiUcIi", "nV:256:", "avx10.2-256")
2216+
TARGET_BUILTIN(__builtin_ia32_vcvttps2ibs512_mask, "V16UiV16fV16UiUsIi", "nV:512:", "avx10.2-512")
2217+
TARGET_BUILTIN(__builtin_ia32_vcvttps2iubs128_mask, "V4UiV4fV4UiUc", "nV:128:", "avx10.2-256")
2218+
TARGET_BUILTIN(__builtin_ia32_vcvttps2iubs256_mask, "V8UiV8fV8UiUcIi", "nV:256:", "avx10.2-256")
2219+
TARGET_BUILTIN(__builtin_ia32_vcvttps2iubs512_mask, "V16UiV16fV16UiUsIi", "nV:512:", "avx10.2-512")
21822220
#undef BUILTIN
21832221
#undef TARGET_BUILTIN
21842222
#undef TARGET_HEADER_BUILTIN

clang/include/clang/Basic/DiagnosticSemaKinds.td

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11639,6 +11639,8 @@ def warn_omp_unterminated_declare_target : Warning<
1163911639
InGroup<SourceUsesOpenMP>;
1164011640
def err_ompx_bare_no_grid : Error<
1164111641
"'ompx_bare' clauses requires explicit grid size via 'num_teams' and 'thread_limit' clauses">;
11642+
def err_omp_multi_expr_not_allowed: Error<"only one expression allowed in '%0' clause">;
11643+
def err_ompx_more_than_three_expr_not_allowed: Error<"at most three expressions are allowed in '%0' clause in 'target teams ompx_bare' construct">;
1164211644
} // end of OpenMP category
1164311645

1164411646
let CategoryName = "Related Result Type Issue" in {

clang/include/clang/Basic/LangOptions.def

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ BENIGN_LANGOPT(PointerAuthFunctionTypeDiscrimination, 1, 0,
175175
LANGOPT(PointerAuthInitFini, 1, 0, "sign function pointers in init/fini arrays")
176176
LANGOPT(PointerAuthInitFiniAddressDiscrimination, 1, 0,
177177
"incorporate address discrimination in authenticated function pointers in init/fini arrays")
178+
LANGOPT(PointerAuthELFGOT, 1, 0, "authenticate pointers from GOT")
178179

179180
LANGOPT(DoubleSquareBracketAttributes, 1, 0, "'[[]]' attributes extension for all language standard modes")
180181
LANGOPT(ExperimentalLateParseAttributes, 1, 0, "experimental late parsing of attributes")

clang/include/clang/Driver/Options.td

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3105,7 +3105,7 @@ def fmodules_user_build_path : Separate<["-"], "fmodules-user-build-path">, Grou
31053105
HelpText<"Specify the module user build path">,
31063106
MarshallingInfoString<HeaderSearchOpts<"ModuleUserBuildPath">>;
31073107
def fprebuilt_module_path : Joined<["-"], "fprebuilt-module-path=">, Group<i_Group>,
3108-
Flags<[]>, Visibility<[ClangOption, CC1Option]>,
3108+
Flags<[]>, Visibility<[ClangOption, CLOption, CC1Option]>,
31093109
MetaVarName<"<directory>">,
31103110
HelpText<"Specify the prebuilt module path">;
31113111
defm prebuilt_implicit_modules : BoolFOption<"prebuilt-implicit-modules",
@@ -3114,11 +3114,11 @@ defm prebuilt_implicit_modules : BoolFOption<"prebuilt-implicit-modules",
31143114
NegFlag<SetFalse>, BothFlags<[], [ClangOption, CC1Option]>>;
31153115

31163116
def fmodule_output_EQ : Joined<["-"], "fmodule-output=">,
3117-
Flags<[NoXarchOption]>, Visibility<[ClangOption, CC1Option]>,
3117+
Flags<[NoXarchOption]>, Visibility<[ClangOption, CLOption, CC1Option]>,
31183118
MarshallingInfoString<FrontendOpts<"ModuleOutputPath">>,
31193119
HelpText<"Save intermediate module file results when compiling a standard C++ module unit.">;
31203120
def fmodule_output : Flag<["-"], "fmodule-output">, Flags<[NoXarchOption]>,
3121-
Visibility<[ClangOption, CC1Option]>,
3121+
Visibility<[ClangOption, CLOption, CC1Option]>,
31223122
HelpText<"Save intermediate module file results when compiling a standard C++ module unit.">;
31233123

31243124
defm skip_odr_check_in_gmf : BoolOption<"f", "skip-odr-check-in-gmf",
@@ -3302,8 +3302,10 @@ def fretain_comments_from_system_headers : Flag<["-"], "fretain-comments-from-sy
33023302
Visibility<[ClangOption, CC1Option]>,
33033303
MarshallingInfoFlag<LangOpts<"RetainCommentsFromSystemHeaders">>;
33043304
def fmodule_header : Flag <["-"], "fmodule-header">, Group<f_Group>,
3305+
Visibility<[ClangOption, CLOption]>,
33053306
HelpText<"Build a C++20 Header Unit from a header">;
33063307
def fmodule_header_EQ : Joined<["-"], "fmodule-header=">, Group<f_Group>,
3308+
Visibility<[ClangOption, CLOption]>,
33073309
MetaVarName<"<kind>">,
33083310
HelpText<"Build a C++20 Header Unit from a header that should be found in the user (fmodule-header=user) or system (fmodule-header=system) search path.">;
33093311

@@ -5955,6 +5957,7 @@ def _output : Separate<["--"], "output">, Alias<o>;
59555957
def _param : Separate<["--"], "param">, Group<CompileOnly_Group>;
59565958
def _param_EQ : Joined<["--"], "param=">, Alias<_param>;
59575959
def _precompile : Flag<["--"], "precompile">, Flags<[NoXarchOption]>,
5960+
Visibility<[ClangOption, CLOption]>,
59585961
Group<Action_Group>, HelpText<"Only precompile the input">;
59595962
def _prefix_EQ : Joined<["--"], "prefix=">, Alias<B>;
59605963
def _prefix : Separate<["--"], "prefix">, Alias<B>;

clang/include/clang/Lex/Preprocessor.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2139,8 +2139,8 @@ class Preprocessor {
21392139
}
21402140

21412141
/// Given a Token \p Tok that is a numeric constant with length 1,
2142-
/// return the character.
2143-
char
2142+
/// return the value of constant as an unsigned 8-bit integer.
2143+
uint8_t
21442144
getSpellingOfSingleCharacterNumericConstant(const Token &Tok,
21452145
bool *Invalid = nullptr) const {
21462146
assert((Tok.is(tok::numeric_constant) || Tok.is(tok::binary_data)) &&

clang/include/clang/Sema/SemaOpenMP.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1259,7 +1259,8 @@ class SemaOpenMP : public SemaBase {
12591259
const OMPVarListLocTy &Locs, bool NoDiagnose = false,
12601260
ArrayRef<Expr *> UnresolvedMappers = std::nullopt);
12611261
/// Called on well-formed 'num_teams' clause.
1262-
OMPClause *ActOnOpenMPNumTeamsClause(Expr *NumTeams, SourceLocation StartLoc,
1262+
OMPClause *ActOnOpenMPNumTeamsClause(ArrayRef<Expr *> VarList,
1263+
SourceLocation StartLoc,
12631264
SourceLocation LParenLoc,
12641265
SourceLocation EndLoc);
12651266
/// Called on well-formed 'thread_limit' clause.

0 commit comments

Comments
 (0)