Moved to g++ 4.9, fixed some warnings, codegen used for Linux build.

This commit is contained in:
John Preston 2016-04-19 16:52:51 +03:00
parent 0501633c75
commit 18d8666312
8 changed files with 88 additions and 169 deletions

View File

@ -45,52 +45,22 @@ uint64 _SharedMemoryLocation[4] = { 0x00, 0x01, 0x02, 0x03 };
// Base types compile-time check
#ifdef TDESKTOP_CUSTOM_NULLPTR
NullPointerClass nullptr;
#endif
namespace {
template <typename T, int N>
class _TypeSizeCheckerHelper {
public:
_TypeSizeCheckerHelper() {
int _BadTypeSize[N ? -1 : 1];
(void)sizeof(_BadTypeSize);
}
};
template <typename T>
class _TypeSizeCheckerHelper<T, 0> {
public:
_TypeSizeCheckerHelper() {
}
};
template <typename T, int N>
class _TypeSizeChecker {
_TypeSizeCheckerHelper<T, N - sizeof(T)> checker;
};
void _typesCheck() {
_TypeSizeChecker<char, 1>();
_TypeSizeChecker<uchar, 1>();
_TypeSizeChecker<int16, 2>();
_TypeSizeChecker<uint16, 2>();
_TypeSizeChecker<int32, 4>();
_TypeSizeChecker<uint32, 4>();
_TypeSizeChecker<int64, 8>();
_TypeSizeChecker<uint64, 8>();
_TypeSizeChecker<float32, 4>();
_TypeSizeChecker<float64, 8>();
_TypeSizeChecker<mtpPrime, 4>();
_TypeSizeChecker<MTPint, 4>();
_TypeSizeChecker<MTPlong, 8>();
_TypeSizeChecker<MTPint128, 16>();
_TypeSizeChecker<MTPint256, 32>();
_TypeSizeChecker<MTPdouble, 8>();
}
}
static_assert(sizeof(char) == 1, "Basic types size check failed");
static_assert(sizeof(uchar) == 1, "Basic types size check failed");
static_assert(sizeof(int16) == 2, "Basic types size check failed");
static_assert(sizeof(uint16) == 2, "Basic types size check failed");
static_assert(sizeof(int32) == 4, "Basic types size check failed");
static_assert(sizeof(uint32) == 4, "Basic types size check failed");
static_assert(sizeof(int64) == 8, "Basic types size check failed");
static_assert(sizeof(uint64) == 8, "Basic types size check failed");
static_assert(sizeof(float32) == 4, "Basic types size check failed");
static_assert(sizeof(float64) == 8, "Basic types size check failed");
static_assert(sizeof(mtpPrime) == 4, "Basic types size check failed");
static_assert(sizeof(MTPint) == 4, "Basic types size check failed");
static_assert(sizeof(MTPlong) == 8, "Basic types size check failed");
static_assert(sizeof(MTPint128) == 16, "Basic types size check failed");
static_assert(sizeof(MTPint256) == 32, "Basic types size check failed");
static_assert(sizeof(MTPdouble) == 8, "Basic types size check failed");
// Unixtime functions

View File

@ -29,34 +29,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
namespace InlineBots {
namespace {
using ResultsByLoaderMap = QMap<FileLoader*, Result*>;
NeverFreedPointer<ResultsByLoaderMap> ResultsByLoader;
void regLoader(FileLoader *loader, Result *result) {
ResultsByLoader.createIfNull([]() -> ResultsByLoaderMap* {
return new ResultsByLoaderMap();
});
ResultsByLoader->insert(loader, result);
}
void unregLoader(FileLoader *loader) {
if (!ResultsByLoader) {
return;
}
ResultsByLoader->remove(loader);
}
} // namespace
Result *getResultFromLoader(FileLoader *loader) {
if (!ResultsByLoader) {
return nullptr;
}
return ResultsByLoader->value(loader, nullptr);
}
Result::Result(const Creator &creator) : _queryId(creator.queryId), _type(creator.type) {
}

View File

@ -120,6 +120,5 @@ private:
std_::unique_ptr<internal::SendData> sendData;
};
Result *getResultFromLoader(FileLoader *loader);
} // namespace InlineBots

View File

@ -48,27 +48,6 @@ namespace {
return result;
}
FileKey fromFilePart(const QString &val) {
FileKey result = 0;
int32 i = val.size();
if (i != 0x10) return 0;
while (i > 0) {
--i;
result <<= 4;
uint16 ch = val.at(i).unicode();
if (ch >= 'A' && ch <= 'F') {
result |= (ch - 'A') + 0x0A;
} else if (ch >= '0' && ch <= '9') {
result |= (ch - '0');
} else {
return 0;
}
}
return result;
}
QString _basePath, _userBasePath;
bool _started = false;
@ -360,10 +339,6 @@ namespace {
return false;
}
bool fileExists(const FileKey &fkey, int options = UserPath | SafePath) {
return fileExists(toFilePart(fkey), options);
}
bool readFile(FileReadDescriptor &result, const QString &name, int options = UserPath | SafePath) {
if (options & UserPath) {
if (!_userWorking()) return false;

View File

@ -1591,7 +1591,7 @@ public:
if (_wLeft < si.width) {
lineText = lineText.mid(0, currentBlock->from() - _localFrom) + _Elide;
lineLength = currentBlock->from() + _Elide.size() - _lineStart;
_selection.to = _selection.to = qMin(_selection.to, currentBlock->from());
_selection.to = qMin(_selection.to, currentBlock->from());
setElideBidi(currentBlock->from(), _Elide.size());
elideSaveBlock(blockIndex - 1, _endBlock, currentBlock->from(), elideWidth);
return;

View File

@ -29,25 +29,20 @@ linux {
HEADERS += ./SourceFiles/pspecific_linux.h
}
style_auto_cpp.target = ./GeneratedFiles/style_auto.cpp
style_auto_cpp.depends = FORCE
style_auto_cpp.commands = mkdir -p ./../../Telegram/GeneratedFiles && ./../DebugStyle/MetaStyle -classes_in ./../../Telegram/Resources/style_classes.txt -classes_out ./../../Telegram/GeneratedFiles/style_classes.h -styles_in ./../../Telegram/Resources/style.txt -styles_out ./../../Telegram/GeneratedFiles/style_auto.h -path_to_sprites ./../../Telegram/Resources/art/
style_auto_cpp.depends = ./../../Telegram/Resources/style.txt
codegen_style.target = ./GeneratedFiles/styles/style_basic_types.h
codegen_style.depends = FORCE
style_auto_h.target = ./GeneratedFiles/style_auto.h
style_auto_h.depends = FORCE
style_auto_h.commands = mkdir -p ./../../Telegram/GeneratedFiles && ./../DebugStyle/MetaStyle -classes_in ./../../Telegram/Resources/style_classes.txt -classes_out ./../../Telegram/GeneratedFiles/style_classes.h -styles_in ./../../Telegram/Resources/style.txt -styles_out ./../../Telegram/GeneratedFiles/style_auto.h -path_to_sprites ./../../Telegram/Resources/art/
style_auto_h.depends = ./../../Telegram/Resources/style.txt
codegen_numbers.target = ./GeneratedFiles/numbers.cpp
codegen_numbers.depends = ./../../Telegram/Resources/numbers.txt
style_classes_h.target = ./GeneratedFiles/style_classes.h
style_classes_h.depends = FORCE
style_classes_h.commands = mkdir -p ./../../Telegram/GeneratedFiles && ./../DebugStyle/MetaStyle -classes_in ./../../Telegram/Resources/style_classes.txt -classes_out ./../../Telegram/GeneratedFiles/style_classes.h -styles_in ./../../Telegram/Resources/style.txt -styles_out ./../../Telegram/GeneratedFiles/style_auto.h -path_to_sprites ./../../Telegram/Resources/art/
style_classes_h.depends = ./../../Telegram/Resources/style_classes.txt
numbers_cpp.target = ./GeneratedFiles/numbers.cpp
numbers_cpp.depends = FORCE
numbers_cpp.commands = mkdir -p ./../../Telegram/GeneratedFiles && ./../DebugStyle/MetaStyle -classes_in ./../../Telegram/Resources/style_classes.txt -classes_out ./../../Telegram/GeneratedFiles/style_classes.h -styles_in ./../../Telegram/Resources/style.txt -styles_out ./../../Telegram/GeneratedFiles/style_auto.h -path_to_sprites ./../../Telegram/Resources/art/
numbers_cpp.depends = ./../../Telegram/Resources/numbers.txt
CONFIG(debug, debug|release) {
codegen_style.commands = cd ../../Telegram && ./../Linux/codegen/Debug/codegen_style "-I./SourceFiles" "-o./GeneratedFiles/styles" "./Resources/all_files.style" --rebuild && cd ../Linux/DebugIntermediate
codegen_numbers.commands = cd ../../Telegram && ./../Linux/codegen/Debug/codegen_numbers "-o./GeneratedFiles" "./Resources/numbers.txt" && cd ../Linux/DebugIntermediate
}
CONFIG(release, debug|release) {
codegen_style.commands = cd ../../Telegram && ./../Linux/codegen/Debug/codegen_style "-I./SourceFiles" "-o./GeneratedFiles/styles" "./Resources/all_files.style" --rebuild && cd ../Linux/ReleaseIntermediate
codegen_numbers.commands = cd ../../Telegram && ./../Linux/codegen/Debug/codegen_numbers "-o./GeneratedFiles" "./Resources/numbers.txt" && cd ../Linux/ReleaseIntermediate
}
lang_auto_cpp.target = ./GeneratedFiles/lang_auto.cpp
lang_auto_cpp.depends = FORCE
@ -59,13 +54,19 @@ lang_auto_h.depends = FORCE
lang_auto_h.commands = mkdir -p ./../../Telegram/GeneratedFiles && ./../DebugLang/MetaLang -lang_in ./../../Telegram/Resources/lang.strings -lang_out ./../../Telegram/GeneratedFiles/lang_auto
lang_auto_h.depends = ./../../Telegram/Resources/lang.strings
hook.depends = style_auto_cpp style_auto_h style_classes_h numbers_cpp lang_auto_cpp lang_auto_h
#hook.depends = style_auto_cpp style_auto_h style_classes_h numbers_cpp lang_auto_cpp lang_auto_h
hook.depends = codegen_style codegen_numbers lang_auto_cpp lang_auto_h
CONFIG(debug,debug|release):hook.target = Makefile.Debug
CONFIG(release,debug|release):hook.target = Makefile.Release
QMAKE_EXTRA_TARGETS += style_auto_cpp style_auto_h style_classes_h numbers_cpp lang_auto_cpp lang_auto_h hook
#QMAKE_EXTRA_TARGETS += style_auto_cpp style_auto_h style_classes_h numbers_cpp lang_auto_cpp lang_auto_h hook
QMAKE_EXTRA_TARGETS += codegen_style codegen_numbers lang_auto_cpp lang_auto_h hook
PRE_TARGETDEPS += ./GeneratedFiles/style_auto.cpp ./GeneratedFiles/style_auto.h ./GeneratedFiles/style_classes.h ./GeneratedFiles/numbers.cpp ./GeneratedFiles/lang_auto.h ./GeneratedFiles/lang_auto.cpp
#PRE_TARGETDEPS += ./GeneratedFiles/style_auto.cpp ./GeneratedFiles/style_auto.h ./GeneratedFiles/style_classes.h ./GeneratedFiles/numbers.cpp ./GeneratedFiles/lang_auto.h ./GeneratedFiles/lang_auto.cpp
PRE_TARGETDEPS += \
./GeneratedFiles/styles/style_basic_types.h \
./GeneratedFiles/lang_auto.h \
./GeneratedFiles/lang_auto.cpp
unix {
linux-g++:QMAKE_TARGET.arch = $$QMAKE_HOST.arch
@ -81,8 +82,9 @@ unix {
SOURCES += \
./GeneratedFiles/lang_auto.cpp \
./GeneratedFiles/style_auto.cpp \
./GeneratedFiles/numbers.cpp \
./GeneratedFiles/styles/style_basic.cpp \
./GeneratedFiles/styles/style_basic_types.cpp \
./SourceFiles/main.cpp \
./SourceFiles/stdafx.cpp \
./SourceFiles/apiwrap.cpp \
@ -193,8 +195,9 @@ SOURCES += \
HEADERS += \
./GeneratedFiles/lang_auto.h \
./GeneratedFiles/style_auto.h \
./GeneratedFiles/style_classes.h \
./GeneratedFiles/numbers.h \
./GeneratedFiles/styles/style_basic.h \
./GeneratedFiles/styles/style_basic_types.h \
./SourceFiles/stdafx.h \
./SourceFiles/apiwrap.h \
./SourceFiles/app.h \
@ -214,7 +217,6 @@ HEADERS += \
./SourceFiles/layerwidget.h \
./SourceFiles/layout.h \
./SourceFiles/mediaview.h \
./SourceFiles/numbers.h \
./SourceFiles/overviewwidget.h \
./SourceFiles/passcodewidget.h \
./SourceFiles/profilewidget.h \
@ -400,8 +402,9 @@ RESOURCES += \
./Resources/telegram_emojis.qrc
OTHER_FILES += \
./Resources/style_classes.txt \
./Resources/style.txt \
./Resources/basic_types.style \
./Resources/basic.style \
./Resources/all_files.style \
./Resources/lang.strings \
./Resources/langs/lang_it.strings \
./Resources/langs/lang_es.strings \

View File

@ -21,25 +21,25 @@ QMAKE_CXXFLAGS_WARN_ON += -Wno-missing-field-initializers
TEMPLATE = app
SOURCES += \
./../../../SourceFiles/codegen/common/basic_tokenized_file.cpp\
./../../../SourceFiles/codegen/common/checked_utf8_string.cpp\
./../../../SourceFiles/codegen/common/clean_file.cpp\
./../../../SourceFiles/codegen/common/cpp_file.cpp\
./../../../SourceFiles/codegen/common/logging.cpp\
./../../../SourceFiles/codegen/numbers/generator.cpp\
./../../../SourceFiles/codegen/numbers/main.cpp\
./../../../SourceFiles/codegen/numbers/options.cpp\
./../../../SourceFiles/codegen/numbers/parsed_file.cpp\
./../../../SourceFiles/codegen/common/basic_tokenized_file.cpp \
./../../../SourceFiles/codegen/common/checked_utf8_string.cpp \
./../../../SourceFiles/codegen/common/clean_file.cpp \
./../../../SourceFiles/codegen/common/cpp_file.cpp \
./../../../SourceFiles/codegen/common/logging.cpp \
./../../../SourceFiles/codegen/numbers/generator.cpp \
./../../../SourceFiles/codegen/numbers/main.cpp \
./../../../SourceFiles/codegen/numbers/options.cpp \
./../../../SourceFiles/codegen/numbers/parsed_file.cpp \
./../../../SourceFiles/codegen/numbers/processor.cpp
HEADERS += \
./../../../SourceFiles/codegen/common/basic_tokenized_file.h\
./../../../SourceFiles/codegen/common/checked_utf8_string.h\
./../../../SourceFiles/codegen/common/clean_file.h\
./../../../SourceFiles/codegen/common/clean_file_reader.h\
./../../../SourceFiles/codegen/common/cpp_file.h\
./../../../SourceFiles/codegen/common/logging.h\
./../../../SourceFiles/codegen/numbers/generator.h\
./../../../SourceFiles/codegen/numbers/options.h\
./../../../SourceFiles/codegen/numbers/parsed_file.h\
./../../../SourceFiles/codegen/common/basic_tokenized_file.h \
./../../../SourceFiles/codegen/common/checked_utf8_string.h \
./../../../SourceFiles/codegen/common/clean_file.h \
./../../../SourceFiles/codegen/common/clean_file_reader.h \
./../../../SourceFiles/codegen/common/cpp_file.h \
./../../../SourceFiles/codegen/common/logging.h \
./../../../SourceFiles/codegen/numbers/generator.h \
./../../../SourceFiles/codegen/numbers/options.h \
./../../../SourceFiles/codegen/numbers/parsed_file.h \
./../../../SourceFiles/codegen/numbers/processor.h

View File

@ -21,31 +21,31 @@ QMAKE_CXXFLAGS_WARN_ON += -Wno-missing-field-initializers
TEMPLATE = app
SOURCES += \
./../../../SourceFiles/codegen/common/basic_tokenized_file.cpp\
./../../../SourceFiles/codegen/common/checked_utf8_string.cpp\
./../../../SourceFiles/codegen/common/clean_file.cpp\
./../../../SourceFiles/codegen/common/cpp_file.cpp\
./../../../SourceFiles/codegen/common/logging.cpp\
./../../../SourceFiles/codegen/style/generator.cpp\
./../../../SourceFiles/codegen/style/main.cpp\
./../../../SourceFiles/codegen/style/module.cpp\
./../../../SourceFiles/codegen/style/options.cpp\
./../../../SourceFiles/codegen/style/parsed_file.cpp\
./../../../SourceFiles/codegen/style/processor.cpp\
./../../../SourceFiles/codegen/style/sprite_generator.cpp\
./../../../SourceFiles/codegen/common/basic_tokenized_file.cpp \
./../../../SourceFiles/codegen/common/checked_utf8_string.cpp \
./../../../SourceFiles/codegen/common/clean_file.cpp \
./../../../SourceFiles/codegen/common/cpp_file.cpp \
./../../../SourceFiles/codegen/common/logging.cpp \
./../../../SourceFiles/codegen/style/generator.cpp \
./../../../SourceFiles/codegen/style/main.cpp \
./../../../SourceFiles/codegen/style/module.cpp \
./../../../SourceFiles/codegen/style/options.cpp \
./../../../SourceFiles/codegen/style/parsed_file.cpp \
./../../../SourceFiles/codegen/style/processor.cpp \
./../../../SourceFiles/codegen/style/sprite_generator.cpp \
./../../../SourceFiles/codegen/style/structure_types.cpp
HEADERS += \
./../../../SourceFiles/codegen/common/basic_tokenized_file.h\
./../../../SourceFiles/codegen/common/checked_utf8_string.h\
./../../../SourceFiles/codegen/common/clean_file.h\
./../../../SourceFiles/codegen/common/clean_file_reader.h\
./../../../SourceFiles/codegen/common/cpp_file.h\
./../../../SourceFiles/codegen/common/logging.h\
./../../../SourceFiles/codegen/style/generator.h\
./../../../SourceFiles/codegen/style/module.h\
./../../../SourceFiles/codegen/style/options.h\
./../../../SourceFiles/codegen/style/parsed_file.h\
./../../../SourceFiles/codegen/style/processor.h\
./../../../SourceFiles/codegen/style/sprite_generator.h\
./../../../SourceFiles/codegen/common/basic_tokenized_file.h \
./../../../SourceFiles/codegen/common/checked_utf8_string.h \
./../../../SourceFiles/codegen/common/clean_file.h \
./../../../SourceFiles/codegen/common/clean_file_reader.h \
./../../../SourceFiles/codegen/common/cpp_file.h \
./../../../SourceFiles/codegen/common/logging.h \
./../../../SourceFiles/codegen/style/generator.h \
./../../../SourceFiles/codegen/style/module.h \
./../../../SourceFiles/codegen/style/options.h \
./../../../SourceFiles/codegen/style/parsed_file.h \
./../../../SourceFiles/codegen/style/processor.h \
./../../../SourceFiles/codegen/style/sprite_generator.h \
./../../../SourceFiles/codegen/style/structure_types.h