Author: jmolenda Date: Mon Feb 15 22:14:33 2016 New Revision: 260930 URL: http://llvm.org/viewvc/llvm-project?rev=260930&view=rev Log: Add -Wimplicit-fallthrough command line option to clang in the xcode project file to catch switch statements that have a case that falls through unintentionally.
Define LLVM_FALLTHROUGH to indicate instances where a case has code and intends to fall through. This should be in llvm/Support/Compiler.h; Peter Collingbourne originally checked in there (r237766), then reverted (r237941) because he didn't have time to mark up all the 'case' statements that were intended to fall through. I put together a patch to get this back in llvm http://reviews.llvm.org/D17063 but it hasn't been approved in the past week. I added a new lldb-private-defines.h to hold the definition for now. Every place in lldb where there is a comment that the fall-through is intentional, I added LLVM_FALLTHROUGH to silence the warning. I haven't tried to identify whether the fallthrough is a bug or not in the other places. I haven't tried to add this to the cmake option build flags. This warning will only work for clang. This build cleanly (with some new warnings) on macosx with clang under xcodebuild, but if this causes problems for people on other configurations, I'll back it out. Added: lldb/trunk/include/lldb/lldb-private-defines.h Modified: lldb/trunk/include/lldb/lldb-private.h lldb/trunk/lldb.xcodeproj/project.pbxproj lldb/trunk/source/Commands/CommandObjectMemory.cpp lldb/trunk/source/Core/Address.cpp lldb/trunk/source/Core/AddressRange.cpp lldb/trunk/source/Core/ArchSpec.cpp lldb/trunk/source/Core/Communication.cpp lldb/trunk/source/Core/CxaDemangle.cpp lldb/trunk/source/Core/FastDemangle.cpp lldb/trunk/source/Core/FormatEntity.cpp lldb/trunk/source/Expression/REPL.cpp lldb/trunk/source/Interpreter/OptionValueArray.cpp lldb/trunk/source/Interpreter/OptionValueFileSpecLIst.cpp lldb/trunk/source/Interpreter/OptionValuePathMappings.cpp lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp lldb/trunk/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp lldb/trunk/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp lldb/trunk/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.cpp lldb/trunk/source/Symbol/ClangASTContext.cpp lldb/trunk/source/Target/Process.cpp lldb/trunk/source/Target/StackFrame.cpp Added: lldb/trunk/include/lldb/lldb-private-defines.h URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/lldb-private-defines.h?rev=260930&view=auto ============================================================================== --- lldb/trunk/include/lldb/lldb-private-defines.h (added) +++ lldb/trunk/include/lldb/lldb-private-defines.h Mon Feb 15 22:14:33 2016 @@ -0,0 +1,39 @@ +//===-- lldb-private-defines.h ----------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef liblldb_lldb_private_defines_h_ +#define liblldb_lldb_private_defines_h_ + +#if defined(__cplusplus) + +// Include Compiler.h here so we don't define LLVM_FALLTHROUGH and then Compiler.h +// later tries to redefine it. +#include "llvm/Support/Compiler.h" + +#ifndef LLVM_FALLTHROUGH + +#ifndef __has_cpp_attribute +# define __has_cpp_attribute(x) 0 +#endif + +/// \macro LLVM_FALLTHROUGH +/// \brief Marks an empty statement preceding a deliberate switch fallthrough. +#if __has_cpp_attribute(clang::fallthrough) +#define LLVM_FALLTHROUGH [[clang::fallthrough]] +#else +#define LLVM_FALLTHROUGH +#endif + +#endif // ifndef LLVM_FALLTHROUGH + + + +#endif // #if defined(__cplusplus) + +#endif // liblldb_lldb_private_defines_h_ Modified: lldb/trunk/include/lldb/lldb-private.h URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/lldb-private.h?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/include/lldb/lldb-private.h (original) +++ lldb/trunk/include/lldb/lldb-private.h Mon Feb 15 22:14:33 2016 @@ -24,6 +24,7 @@ #include "lldb/lldb-private-enumerations.h" #include "lldb/lldb-private-interfaces.h" #include "lldb/lldb-private-types.h" +#include "lldb/lldb-private-defines.h" namespace lldb_private { Modified: lldb/trunk/lldb.xcodeproj/project.pbxproj URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lldb.xcodeproj/project.pbxproj?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/lldb.xcodeproj/project.pbxproj (original) +++ lldb/trunk/lldb.xcodeproj/project.pbxproj Mon Feb 15 22:14:33 2016 @@ -7289,6 +7289,7 @@ "-Wparentheses", "$(LLDB_ZLIB_CFLAGS)", "$(LLDB_COMPRESSION_CFLAGS)", + "-Wimplicit-fallthrough", ); OTHER_LDFLAGS = ( "$(LLDB_COMPRESSION_LDFLAGS)", @@ -7374,6 +7375,7 @@ "-Wparentheses", "$(LLDB_ZLIB_CFLAGS)", "$(LLDB_COMPRESSION_CFLAGS)", + "-Wimplicit-fallthrough", ); OTHER_LDFLAGS = ( "$(LLDB_COMPRESSION_LDFLAGS)", @@ -8079,6 +8081,7 @@ "-Wparentheses", "$(LLDB_ZLIB_CFLAGS)", "$(LLDB_COMPRESSION_CFLAGS)", + "-Wimplicit-fallthrough", ); OTHER_LDFLAGS = ( "$(LLDB_COMPRESSION_LDFLAGS)", @@ -8789,6 +8792,7 @@ "-Wparentheses", "$(LLDB_ZLIB_CFLAGS)", "$(LLDB_COMPRESSION_CFLAGS)", + "-Wimplicit-fallthrough", ); OTHER_LDFLAGS = ( "$(LLDB_COMPRESSION_LDFLAGS)", Modified: lldb/trunk/source/Commands/CommandObjectMemory.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectMemory.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Commands/CommandObjectMemory.cpp (original) +++ lldb/trunk/source/Commands/CommandObjectMemory.cpp Mon Feb 15 22:14:33 2016 @@ -15,6 +15,7 @@ // C++ Includes // Other libraries and framework includes #include "clang/AST/Decl.h" + // Project includes #include "lldb/Core/DataBufferHeap.h" #include "lldb/Core/DataExtractor.h" @@ -41,6 +42,8 @@ #include "lldb/Target/StackFrame.h" #include "lldb/Target/Thread.h" +#include "lldb-private.h" + using namespace lldb; using namespace lldb_private; @@ -488,7 +491,7 @@ protected: { case '*': ++pointer_count; - // fall through... + LLVM_FALLTHROUGH; case ' ': case '\t': type_str.erase(type_str.size()-1); Modified: lldb/trunk/source/Core/Address.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/Address.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Core/Address.cpp (original) +++ lldb/trunk/source/Core/Address.cpp Mon Feb 15 22:14:33 2016 @@ -448,7 +448,7 @@ Address::Dump (Stream *s, ExecutionConte else s->Printf("%s[","<Unknown>"); } - // Fall through + LLVM_FALLTHROUGH; case DumpStyleFileAddress: { addr_t file_addr = GetFileAddress(); Modified: lldb/trunk/source/Core/AddressRange.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/AddressRange.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Core/AddressRange.cpp (original) +++ lldb/trunk/source/Core/AddressRange.cpp Mon Feb 15 22:14:33 2016 @@ -163,7 +163,7 @@ AddressRange::Dump(Stream *s, Target *ta case Address::DumpStyleModuleWithFileAddress: show_module = true; - // fall through + LLVM_FALLTHROUGH; case Address::DumpStyleFileAddress: vmaddr = m_base_addr.GetFileAddress(); break; Modified: lldb/trunk/source/Core/ArchSpec.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/ArchSpec.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Core/ArchSpec.cpp (original) +++ lldb/trunk/source/Core/ArchSpec.cpp Mon Feb 15 22:14:33 2016 @@ -1050,7 +1050,7 @@ cores_match (const ArchSpec::Core core1, case ArchSpec::eCore_arm_generic: if (enforce_exact_match) break; - // Fall through to case below + LLVM_FALLTHROUGH; case ArchSpec::kCore_arm_any: if (core2 >= ArchSpec::kCore_arm_first && core2 <= ArchSpec::kCore_arm_last) return true; Modified: lldb/trunk/source/Core/Communication.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/Communication.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Core/Communication.cpp (original) +++ lldb/trunk/source/Core/Communication.cpp Mon Feb 15 22:14:33 2016 @@ -403,7 +403,7 @@ Communication::ReadThread (lldb::thread_ case eConnectionStatusNoConnection: // No connection case eConnectionStatusLostConnection: // Lost connection while connected to a valid connection done = true; - // Fall through... + LLVM_FALLTHROUGH; case eConnectionStatusTimedOut: // Request timed out if (log) error.LogIfError (log, Modified: lldb/trunk/source/Core/CxaDemangle.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/CxaDemangle.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Core/CxaDemangle.cpp (original) +++ lldb/trunk/source/Core/CxaDemangle.cpp Mon Feb 15 22:14:33 2016 @@ -22,6 +22,8 @@ #include "llvm/Support/Compiler.h" // LLVM_{NOEXCEPT, CONSTEXPR, ALIGNAS} #undef _LIBCPP_EXTERN_TEMPLATE // Avoid warning below +#include "lldb/lldb-private.h" + //===-------------------------- cxa_demangle.cpp --------------------------===// // // The LLVM Compiler Infrastructure @@ -2262,7 +2264,7 @@ parse_type(const char* first, const char break; } } - // drop through + LLVM_FALLTHROUGH; default: // must check for builtin-types before class-enum-types to avoid // ambiguities with operator-names Modified: lldb/trunk/source/Core/FastDemangle.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/FastDemangle.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Core/FastDemangle.cpp (original) +++ lldb/trunk/source/Core/FastDemangle.cpp Mon Feb 15 22:14:33 2016 @@ -11,6 +11,8 @@ #include <string.h> #include <stdlib.h> +#include "lldb/lldb-private.h" + //#define DEBUG_FAILURES 1 //#define DEBUG_SUBSTITUTIONS 1 //#define DEBUG_TEMPLATE_ARGS 1 @@ -1627,7 +1629,7 @@ private: return Parse('E'); } --m_read_ptr; - // fallthrough + LLVM_FALLTHROUGH; case 'w': case 'c': case 'a': @@ -1827,7 +1829,7 @@ private: if (*m_read_ptr++ == 'r') return ParseUnresolvedName(); --m_read_ptr; - // fallthrough + LLVM_FALLTHROUGH; default: return ParseExpressionPrimary(); } @@ -2099,7 +2101,7 @@ private: } case 'L': ++m_read_ptr; - // fallthrough + LLVM_FALLTHROUGH; default: { if (!ParseUnscopedName(name_state)) @@ -2293,7 +2295,7 @@ private: m_read_ptr += strlen(m_read_ptr); break; } - // fallthrough + LLVM_FALLTHROUGH; default: if (first_param) first_param = false; Modified: lldb/trunk/source/Core/FormatEntity.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/FormatEntity.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Core/FormatEntity.cpp (original) +++ lldb/trunk/source/Core/FormatEntity.cpp Mon Feb 15 22:14:33 2016 @@ -751,7 +751,7 @@ DumpValue (Stream &s, case FormatEntity::Entry::Type::ScriptVariableSynthetic: is_script = true; - // Fall through + LLVM_FALLTHROUGH; case FormatEntity::Entry::Type::VariableSynthetic: custom_format = entry.fmt; val_obj_display = (ValueObject::ValueObjectRepresentationStyle)entry.number; Modified: lldb/trunk/source/Expression/REPL.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/REPL.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Expression/REPL.cpp (original) +++ lldb/trunk/source/Expression/REPL.cpp Mon Feb 15 22:14:33 2016 @@ -410,7 +410,7 @@ REPL::IOHandlerInputComplete (IOHandler case lldb::eExpressionSetupError: case lldb::eExpressionParseError: add_to_code = false; - // Fall through + LLVM_FALLTHROUGH; case lldb::eExpressionDiscarded: error_sp->Printf("%s\n", error.AsCString()); break; Modified: lldb/trunk/source/Interpreter/OptionValueArray.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Interpreter/OptionValueArray.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Interpreter/OptionValueArray.cpp (original) +++ lldb/trunk/source/Interpreter/OptionValueArray.cpp Mon Feb 15 22:14:33 2016 @@ -316,6 +316,7 @@ OptionValueArray::SetArgs (const Args &a case eVarSetOperationAssign: m_values.clear(); // Fall through to append case + LLVM_FALLTHROUGH; case eVarSetOperationAppend: for (size_t i=0; i<argc; ++i) { Modified: lldb/trunk/source/Interpreter/OptionValueFileSpecLIst.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Interpreter/OptionValueFileSpecLIst.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Interpreter/OptionValueFileSpecLIst.cpp (original) +++ lldb/trunk/source/Interpreter/OptionValueFileSpecLIst.cpp Mon Feb 15 22:14:33 2016 @@ -88,6 +88,7 @@ OptionValueFileSpecList::SetValueFromStr case eVarSetOperationAssign: m_current_value.Clear(); // Fall through to append case + LLVM_FALLTHROUGH; case eVarSetOperationAppend: if (argc > 0) { Modified: lldb/trunk/source/Interpreter/OptionValuePathMappings.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Interpreter/OptionValuePathMappings.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Interpreter/OptionValuePathMappings.cpp (original) +++ lldb/trunk/source/Interpreter/OptionValuePathMappings.cpp Mon Feb 15 22:14:33 2016 @@ -85,6 +85,7 @@ OptionValuePathMappings::SetValueFromStr } m_path_mappings.Clear(m_notify_changes); // Fall through to append case + LLVM_FALLTHROUGH; case eVarSetOperationAppend: if (argc < 2 || (argc & 1)) { Modified: lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp (original) +++ lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp Mon Feb 15 22:14:33 2016 @@ -295,7 +295,7 @@ ClangExpressionParser::ClangExpressionPa case lldb::eLanguageTypeC_plus_plus_14: m_compiler->getLangOpts().CPlusPlus11 = true; m_compiler->getHeaderSearchOpts().UseLibcxx = true; - // fall thru ... + LLVM_FALLTHROUGH; case lldb::eLanguageTypeC_plus_plus_03: m_compiler->getLangOpts().CPlusPlus = true; // FIXME: the following language option is a temporary workaround, Modified: lldb/trunk/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp (original) +++ lldb/trunk/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp Mon Feb 15 22:14:33 2016 @@ -4090,7 +4090,7 @@ ObjectFileMachO::ParseSymtab () case N_ECOML: // end common (local name): 0,,n_sect,0,address symbol_section = section_info.GetSection (nlist.n_sect, nlist.n_value); - // Fall through + LLVM_FALLTHROUGH; case N_ECOMM: // end common: name,,n_sect,0,0 @@ -4146,7 +4146,8 @@ ObjectFileMachO::ParseSymtab () ConstString undefined_name(symbol_name + ((symbol_name[0] == '_') ? 1 : 0)); undefined_name_to_desc[undefined_name] = nlist.n_desc; } - // Fall through + LLVM_FALLTHROUGH; + case N_PBUD: type = eSymbolTypeUndefined; break; Modified: lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp (original) +++ lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp Mon Feb 15 22:14:33 2016 @@ -611,7 +611,8 @@ PlatformDarwin::GetSoftwareBreakpointTra break; case llvm::Triple::thumb: - bp_is_thumb = true; // Fall through... + bp_is_thumb = true; + LLVM_FALLTHROUGH; case llvm::Triple::arm: { static const uint8_t g_arm_breakpoint_opcode[] = { 0xFE, 0xDE, 0xFF, 0xE7 }; Modified: lldb/trunk/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp (original) +++ lldb/trunk/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp Mon Feb 15 22:14:33 2016 @@ -326,6 +326,7 @@ CommunicationKDP::CheckForPacket (const SendRequestPacketNoLock (request_ack_packet); } // Fall through to case below to get packet contents + LLVM_FALLTHROUGH; case ePacketTypeReply | KDP_CONNECT: case ePacketTypeReply | KDP_DISCONNECT: case ePacketTypeReply | KDP_HOSTINFO: Modified: lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp (original) +++ lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp Mon Feb 15 22:14:33 2016 @@ -845,7 +845,7 @@ GDBRemoteCommunication::CheckForPacket ( case '%': // Async notify packet isNotifyPacket = true; - // Intentional fall through + LLVM_FALLTHROUGH; case '$': // Look for a standard gdb packet? Modified: lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp (original) +++ lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp Mon Feb 15 22:14:33 2016 @@ -4418,7 +4418,7 @@ GDBRemoteCommunicationClient::ReadExtFea // last chunk case ( 'l' ): active = false; - // fall through intentional + LLVM_FALLTHROUGH; // more chunks case ( 'm' ) : Modified: lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp (original) +++ lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp Mon Feb 15 22:14:33 2016 @@ -1367,7 +1367,7 @@ GDBRemoteCommunicationServerLLGS::Handle thread_action.signal = packet.GetHexMaxU32 (false, 0); if (thread_action.signal == 0) return SendIllFormedResponse (packet, "Could not parse signal in vCont packet C action"); - // Fall through to next case... + LLVM_FALLTHROUGH; case 'c': // Continue @@ -1378,7 +1378,7 @@ GDBRemoteCommunicationServerLLGS::Handle thread_action.signal = packet.GetHexMaxU32 (false, 0); if (thread_action.signal == 0) return SendIllFormedResponse (packet, "Could not parse signal in vCont packet S action"); - // Fall through to next case... + LLVM_FALLTHROUGH; case 's': // Step Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp (original) +++ lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp Mon Feb 15 22:14:33 2016 @@ -345,6 +345,7 @@ DWARFASTParserClang::ParseTypeFromDWARF break; } // Fall through to base type below in case we can handle the type there... + LLVM_FALLTHROUGH; case DW_TAG_base_type: resolve_state = Type::eResolveStateFull; Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp (original) +++ lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp Mon Feb 15 22:14:33 2016 @@ -942,7 +942,7 @@ DWARFDebugInfoEntry::GetAttributes (cons // referencing this DIE because curr_depth is not zero break; } - // Fall through... + LLVM_FALLTHROUGH; default: attributes.Append(cu, offset, attr, form); break; Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.cpp (original) +++ lldb/trunk/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.cpp Mon Feb 15 22:14:33 2016 @@ -220,7 +220,7 @@ DWARFMappedHash::Prologue::AppendAtom (A case DW_FORM_GNU_addr_index: case DW_FORM_GNU_str_index: hash_data_has_fixed_byte_size = false; - // Fall through to the cases below... + LLVM_FALLTHROUGH; case DW_FORM_flag: case DW_FORM_data1: case DW_FORM_ref1: @@ -230,7 +230,7 @@ DWARFMappedHash::Prologue::AppendAtom (A case DW_FORM_block2: hash_data_has_fixed_byte_size = false; - // Fall through to the cases below... + LLVM_FALLTHROUGH; case DW_FORM_data2: case DW_FORM_ref2: min_hash_data_byte_size += 2; @@ -238,7 +238,7 @@ DWARFMappedHash::Prologue::AppendAtom (A case DW_FORM_block4: hash_data_has_fixed_byte_size = false; - // Fall through to the cases below... + LLVM_FALLTHROUGH; case DW_FORM_data4: case DW_FORM_ref4: case DW_FORM_addr: Modified: lldb/trunk/source/Symbol/ClangASTContext.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/ClangASTContext.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Symbol/ClangASTContext.cpp (original) +++ lldb/trunk/source/Symbol/ClangASTContext.cpp Mon Feb 15 22:14:33 2016 @@ -4728,7 +4728,7 @@ ClangASTContext::GetBitSize (lldb::opaqu } } } - // fallthrough + LLVM_FALLTHROUGH; default: const uint32_t bit_size = getASTContext()->getTypeSize (qual_type); if (bit_size == 0) @@ -9299,6 +9299,7 @@ ClangASTContext::DumpTypeValue (lldb::op return true; } // format was not enum, just fall through and dump the value as requested.... + LLVM_FALLTHROUGH; default: // We are down to a scalar type that we just need to display. Modified: lldb/trunk/source/Target/Process.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/Process.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Target/Process.cpp (original) +++ lldb/trunk/source/Target/Process.cpp Mon Feb 15 22:14:33 2016 @@ -3884,7 +3884,7 @@ Process::ShouldBroadcastEvent (Event *ev m_stdio_communication.StopReadThread(); m_stdin_forward = false; - // fall-through + LLVM_FALLTHROUGH; case eStateConnected: case eStateAttaching: case eStateLaunching: Modified: lldb/trunk/source/Target/StackFrame.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/StackFrame.cpp?rev=260930&r1=260929&r2=260930&view=diff ============================================================================== --- lldb/trunk/source/Target/StackFrame.cpp (original) +++ lldb/trunk/source/Target/StackFrame.cpp Mon Feb 15 22:14:33 2016 @@ -756,7 +756,7 @@ StackFrame::GetValueForVariableExpressio } } var_path.erase (0, 1); // Remove the '-' - // Fall through + LLVM_FALLTHROUGH; case '.': { const bool expr_is_ptr = var_path[0] == '>'; @@ -1554,12 +1554,12 @@ StackFrame::GetStatus (Stream& strm, case Debugger::eStopDisassemblyTypeNoDebugInfo: if (have_debuginfo) break; - // Fall through to next case + LLVM_FALLTHROUGH; case Debugger::eStopDisassemblyTypeNoSource: if (have_source) break; - // Fall through to next case + LLVM_FALLTHROUGH; case Debugger::eStopDisassemblyTypeAlways: if (target) _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits