# German translation of gcc messages.
# Copyright © 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
# Karl Eichwalder <ke@suse.de>, 2002, 2003.
# Roland Stigge <stigge@antcom.de>, 2003, 2004, 2005.
# This file is distributed under the same license as the gcc package.
#
msgid ""
msgstr ""
"Project-Id-Version: cpplib 4.0.0\n"
"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
"POT-Creation-Date: 2005-06-06 21:32+0200\n"
"PO-Revision-Date: 2005-04-25 17:45+0100\n"
"Last-Translator: Roland Stigge <stigge@antcom.de>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: charset.c:655
#, c-format
msgid "conversion from %s to %s not supported by iconv"
msgstr "Konvertierung von %s nach %s wird von iconv nicht unterstützt"

#: charset.c:658
msgid "iconv_open"
msgstr "iconv_open"

#: charset.c:666
#, c-format
msgid "no iconv implementation, cannot convert from %s to %s"
msgstr "keine Implementation für iconv, es kann nicht von %s nach %s konvertiert werden"

#: charset.c:743
#, c-format
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "Zeichen 0x%lx ist nicht im regulären Quellzeichensatz\n"

#: charset.c:760 charset.c:1243
msgid "converting to execution character set"
msgstr "Konvertierung in Zeichensatz der Ausführung"

#: charset.c:766
#, c-format
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "Zeichen 0x%lx ist kein Unibyte im Ausführungs-Zeichensatz"

#: charset.c:865
msgid "universal character names are only valid in C++ and C99"
msgstr "universelle Zeichennamen sind nur in C++ und C99 gültig"

#: charset.c:868
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "die Bedeutung von '\\%c' ist in traditionellem C anders"

#: charset.c:894
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "unvollständiger Universal-Zeichenname %.*s"

#: charset.c:906
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "»%.*s« ist kein gültiges universelles Zeichen"

#: charset.c:916
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "universelles Zeichen %.*s ist nicht gültig in Bezeichner"

#: charset.c:920
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "universelles Zeichen %.*s ist nicht gültig am Anfang eines Bezeichners"

#: charset.c:953
msgid "converting UCN to source character set"
msgstr "UCN wird in Quellzeichensatz konvertiert"

#: charset.c:957
msgid "converting UCN to execution character set"
msgstr "UCN wird in Ausführungszeichensatz konvertiert"

#: charset.c:1029
msgid "the meaning of '\\x' is different in traditional C"
msgstr "die Bedeutung von '\\x' ist in traditionellem C anders"

#: charset.c:1046
msgid "\\x used with no following hex digits"
msgstr "\\x ohne folgende Hex-Ziffern verwendet"

#: charset.c:1053
msgid "hex escape sequence out of range"
msgstr "Hex-Fluchtsequenz außerhalb des Wertebereiches"

#: charset.c:1092
msgid "octal escape sequence out of range"
msgstr "Oktal-Fluchtsequenz außerhalb des Wertebereiches"

#: charset.c:1160
msgid "the meaning of '\\a' is different in traditional C"
msgstr "die Bedeutung von '\\a' ist in traditionellem C anders"

#: charset.c:1167
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "nicht-ISO-standardkonforme Fluchtsequenz '\\%c'"

#: charset.c:1175
#, c-format
msgid "unknown escape sequence '\\%c'"
msgstr "unbekannte Fluchtsequenz '\\%c'"

#: charset.c:1178
#, c-format
msgid "unknown escape sequence: '\\%03o'"
msgstr "unbekannte Fluchtsequenz: '\\%03o'"

#: charset.c:1184
msgid "converting escape sequence to execution character set"
msgstr "Fluchtsequenz wird in Zeichensatz der Ausführung konvertiert"

#: charset.c:1306 charset.c:1369
msgid "character constant too long for its type"
msgstr "Zeichenkonstante zu lang für ihren Typ"

#: charset.c:1309
msgid "multi-character character constant"
msgstr "Zeichenkonstante mit mehreren Zeichen"

#: charset.c:1401
msgid "empty character constant"
msgstr "Leere Zeichenkonstante"

#: charset.c:1450
#, c-format
msgid "failure to convert %s to %s"
msgstr "Fehler beim Konvertieren von %s in %s"

#: directives.c:216
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "mehrere Token am Ende der Direktive #%s"

#: directives.c:303
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s ist eine Erweiterung des GCC"

#: directives.c:315
msgid "suggest not using #elif in traditional C"
msgstr "empfehle, in traditionellem C nicht #elif zu verwenden"

#: directives.c:318
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "traditionelles C ignoriert #%s mit eingerücktem #"

#: directives.c:322
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "empfehle, #%s vor traditionellem C mit # zu verbergen"

#: directives.c:348
msgid "embedding a directive within macro arguments is not portable"
msgstr "das Einbetten einer Direktive innerhalb von Makroargumenten ist nicht portierbar"

#: directives.c:368
msgid "style of line directive is a GCC extension"
msgstr "der Stil der line-Direktive ist eine Erweiterung des GCC"

#: directives.c:418
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "ungültige Präprozessordirektive #%s"

#: directives.c:489
msgid "\"defined\" cannot be used as a macro name"
msgstr "»defined« kann nicht als Makroname verwendet werden"

#: directives.c:495
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "»%s« kann nicht als Makroname verwendet werden, da es ein Operator in C++ ist"

#: directives.c:498
#, c-format
msgid "no macro name given in #%s directive"
msgstr "kein Makroname in Direktive #%s angegeben"

#: directives.c:501
msgid "macro names must be identifiers"
msgstr "Makronamen müssen Bezeichner sein"

#: directives.c:542
#, c-format
msgid "undefining \"%s\""
msgstr "un-definiere »%s«"

#: directives.c:597
msgid "missing terminating > character"
msgstr "fehlendes abschließendes »>«-Zeichen"

#: directives.c:650
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s erwartet \"DATEINAME\" oder <DATEINAME>"

#: directives.c:673
#, c-format
msgid "empty filename in #%s"
msgstr "leerer Dateiname in #%s"

#: directives.c:681
msgid "#include nested too deeply"
msgstr "#include ist zu tief geschachtelt"

#: directives.c:719
msgid "#include_next in primary source file"
msgstr "#include_next in erster Quelldatei"

#: directives.c:745
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "ungültiges Flag »%s« in line-Direktive"

#: directives.c:797
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "»%s« hinter #line ist keine positive Ganzzahl"

#: directives.c:803
msgid "line number out of range"
msgstr "Zeilennummer ist außerhalb des Wertebereiches"

#: directives.c:816 directives.c:893
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "»%s« ist kein gültiger Dateiname"

#: directives.c:853
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "»%s« hinter # ist keine positive Ganzzahl"

#: directives.c:955
msgid "invalid #ident directive"
msgstr "ungültige #ident-Direktive"

#: directives.c:1043
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "»%s« wird sowohl als Pragma als auch als Pragma-Namespace registriert"

#: directives.c:1046
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s ist bereits registriert"

#: directives.c:1049
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s ist bereits registriert"

#: directives.c:1249
msgid "#pragma once in main file"
msgstr "#pragma once in Hauptdatei"

#: directives.c:1272
msgid "invalid #pragma GCC poison directive"
msgstr "ungültige #pragma GCC Direktive"

#: directives.c:1281
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "schlechtes existierendes Makro »%s«"

#: directives.c:1302
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header außerhalb include-Datei ignoriert"

#: directives.c:1326
#, c-format
msgid "cannot find source file %s"
msgstr "Quelldatei %s kann nicht gefunden werden"

#: directives.c:1330
#, c-format
msgid "current file is older than %s"
msgstr "aktuelle Datei ist älter als %s"

#: directives.c:1444
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma nimmt ein geklammertes Zeichenkettenliteral"

#: directives.c:1551
msgid "#else without #if"
msgstr "#else ohne #if"

#: directives.c:1556
msgid "#else after #else"
msgstr "#else hinter #else"

#: directives.c:1558 directives.c:1591
msgid "the conditional began here"
msgstr "die Bedingung begann hier"

#: directives.c:1584
msgid "#elif without #if"
msgstr "#elif ohne #if"

#: directives.c:1589
msgid "#elif after #else"
msgstr "#elif hinter #else"

#: directives.c:1619
msgid "#endif without #if"
msgstr "#endif ohne #if"

#: directives.c:1696
msgid "missing '(' after predicate"
msgstr "fehlendes '(' hinter Prädikat"

#: directives.c:1711
msgid "missing ')' to complete answer"
msgstr "fehlendes ')', um Antwort abzuschließen"

#: directives.c:1731
msgid "predicate's answer is empty"
msgstr "Prädikatantwort ist leer"

#: directives.c:1758
msgid "assertion without predicate"
msgstr "Behauptung ohne Prädikat"

#: directives.c:1760
msgid "predicate must be an identifier"
msgstr "Prädikat muss ein Bezeichner sein"

#: directives.c:1846
#, c-format
msgid "\"%s\" re-asserted"
msgstr "»%s« wieder behauptet"

#: directives.c:2069
#, c-format
msgid "unterminated #%s"
msgstr "unbeendetes #%s"

#: errors.c:118
msgid "warning: "
msgstr "Warnung: "

#: errors.c:120
msgid "internal error: "
msgstr "interner Fehler: "

#: errors.c:122
msgid "error: "
msgstr "Fehler: "

#: errors.c:181
msgid "stdout"
msgstr "Standardausgabe"

#: errors.c:183
#, c-format
msgid "%s: %s"
msgstr "%s: %s"

#: expr.c:192
msgid "too many decimal points in number"
msgstr "zu viele Dezimalpunkte in Zahl"

#: expr.c:212
#, c-format
msgid "invalid digit \"%c\" in octal constant"
msgstr "ungültige Ziffer »%c« in Oktal-Konstante"

#: expr.c:218
msgid "use of C99 hexadecimal floating constant"
msgstr "Verwendung von C99 hexadezimaler Gleitkommakonstante"

#: expr.c:227
msgid "exponent has no digits"
msgstr "Exponent hat keine Ziffern"

#: expr.c:234
msgid "hexadecimal floating constants require an exponent"
msgstr "hexadezimale Gleitkommakonstanten benötigen Exponenten"

#: expr.c:240
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "ungültiger Suffix »%.*s« an Gleitkommakonstante"

#: expr.c:250 expr.c:275
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "traditionelles C lehnt den Suffix »%.*s« ab"

#: expr.c:261
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "ungültiger Suffix »%.*s« an Ganzzahlkonstante"

#: expr.c:283
msgid "use of C99 long long integer constant"
msgstr "C99 long long Ganzzahlkonstante verwendet"

#: expr.c:290
msgid "imaginary constants are a GCC extension"
msgstr "imaginäre Konstanten sind eine GCC-Erweiterung"

#: expr.c:376
msgid "integer constant is too large for its type"
msgstr "Ganzzahlkonstante ist zu groß für ihren Typ"

#: expr.c:388
msgid "integer constant is so large that it is unsigned"
msgstr "Ganzzahlkonstante ist so groß, dass sie vorzeichenlos ist"

#: expr.c:470
msgid "missing ')' after \"defined\""
msgstr "fehlendes ')' hinter »defined«"

#: expr.c:477
msgid "operator \"defined\" requires an identifier"
msgstr "Operator »defined« erfordert einen Bezeichner"

#: expr.c:485
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(»%s« ist ein alternatives Token for »%s« in C++)"

#: expr.c:495
msgid "this use of \"defined\" may not be portable"
msgstr "diese Verwendung von »defined« könnte nicht portierbar sein"

#: expr.c:534
msgid "floating constant in preprocessor expression"
msgstr "Gleitkommakonstante in Präprozessorausdruck"

#: expr.c:540
msgid "imaginary number in preprocessor expression"
msgstr "imaginäre Zahl in Präprozessorausdruck"

#: expr.c:585
#, c-format
msgid "\"%s\" is not defined"
msgstr "»%s« ist nicht definiert"

#: expr.c:716 expr.c:745
#, c-format
msgid "missing binary operator before token \"%s\""
msgstr "fehlender binärer Operator vor Token »%s«"

#: expr.c:736
#, c-format
msgid "token \"%s\" is not valid in preprocessor expressions"
msgstr "Token »%s« ist nicht gültig in Präprozessorausdrücken"

#: expr.c:753
msgid "missing expression between '(' and ')'"
msgstr "fehlender Ausdruck zwischen '(' und ')'"

#: expr.c:756
msgid "#if with no expression"
msgstr "#if ohne Ausdruck"

#: expr.c:759
#, c-format
msgid "operator '%s' has no right operand"
msgstr "Operator »%s« hat keinen rechten Operanden"

#: expr.c:764
#, c-format
msgid "operator '%s' has no left operand"
msgstr "Operator »%s« hat keinen linken Operanden"

#: expr.c:790
msgid " ':' without preceding '?'"
msgstr " ':' ohne vorangehendes '?'"

#: expr.c:817
msgid "unbalanced stack in #if"
msgstr "unausgeglichener Keller in #if"

#: expr.c:836
#, c-format
msgid "impossible operator '%u'"
msgstr "unmöglicher Operator '%u'"

#: expr.c:928
msgid "missing ')' in expression"
msgstr "fehlendes ')' in Ausdruck"

#: expr.c:949
msgid "'?' without following ':'"
msgstr "'?' ohne folgendes ':'"

#: expr.c:959
msgid "integer overflow in preprocessor expression"
msgstr "Ganzzahlüberlauf in Präprozessorausdruck"

#: expr.c:964
msgid "missing '(' in expression"
msgstr "fehlendes '(' in Ausdruck"

#: expr.c:996
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "der linke Operand von »%s« ändert bei der Weitergabe das Vorzeichen"

#: expr.c:1001
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "der rechte Operand von »%s« ändert bei der Weitergabe das Vorzeichen"

#: expr.c:1260
msgid "traditional C rejects the unary plus operator"
msgstr "traditionelles C weist den unären Plus-Operator zurück"

#: expr.c:1359
msgid "comma operator in operand of #if"
msgstr "Kommaoperator in Operand von #if"

#: expr.c:1491
msgid "division by zero in #if"
msgstr "Division durch null in #if"

#: files.c:401
msgid "NULL directory in find_file"
msgstr "NULL-Verzeichnis in find_file"

#: files.c:454
msgid "one or more PCH files were found, but they were invalid"
msgstr "ein oder mehrere PCH-Dateien wurden gefunden, aber sie sind ungültig"

#: files.c:457
msgid "use -Winvalid-pch for more information"
msgstr "-Winvalid-pch für mehr Informationen verwenden"

#: files.c:522
#, c-format
msgid "%s is a block device"
msgstr "%s ist ein Block-Gerät"

#: files.c:539
#, c-format
msgid "%s is too large"
msgstr "%s ist zu groß"

#: files.c:574
#, c-format
msgid "%s is shorter than expected"
msgstr "%s ist kürzer als erwartet"

#: files.c:803
#, c-format
msgid "no include path in which to search for %s"
msgstr "kein Include-Pfad, um %s zu finden"

#: files.c:1096
msgid "Multiple include guards may be useful for:\n"
msgstr "Mehrere Include-Wächter könnten nützlich sein für:\n"

#: init.c:393
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t muss ein vorzeichenloser Typ sein"

#: init.c:397
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "Präprozessorarithmetik hat maximale Präzision von %lu Bits; Ziel erfordert %lu Bits"

#: init.c:404
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP-Arithmetik muss mindestens so genau sein wie das Ziel int"

#: init.c:407
msgid "target char is less than 8 bits wide"
msgstr "Ziel-char ist weniger als 8 Bits breit"

#: init.c:411
msgid "target wchar_t is narrower than target char"
msgstr "Ziel-wchar_t ist schmaler als Ziel char"

#: init.c:415
msgid "target int is narrower than target char"
msgstr "Ziel-int ist schmaler als Ziel-char"

#: init.c:420
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP Halb-Ganzzahl ist schmaler als CPP-Zeichen"

#: init.c:424
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP kann auf diesem Computer keine Wide-Zeichenkonstanten über %lu Bits Breite behandeln, das Ziel benötigt %lu Bits"

#: lex.c:274
msgid "backslash and newline separated by space"
msgstr "Backslash und Newline durch Leerzeichen getrennt"

#: lex.c:279
msgid "backslash-newline at end of file"
msgstr "Backslash-Newline am Dateiende"

#: lex.c:294
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "Trigraph ??%c in %c konvertiert"

#: lex.c:301
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "Trigraph ??%c ignoriert, -trigraphs zum Aktivieren verwenden"

#: lex.c:347
msgid "\"/*\" within comment"
msgstr "»/*« innerhalb des Kommentars"

#: lex.c:405
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s in Präprozessordirektive"

#: lex.c:414
msgid "null character(s) ignored"
msgstr "Null-Zeichen ignoriert"

#: lex.c:449
msgid "'$' in identifier or number"
msgstr "'$' in Bezeichner oder Zahl"

#: lex.c:510
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "Versuch, schlechtes »%s« zu verwenden"

#: lex.c:518
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ kann nur in Erweiterung eines variadischen C99-Makros auftreten"

#: lex.c:614
msgid "null character(s) preserved in literal"
msgstr "Null-Zeichen im Literal erhalten"

#: lex.c:805
msgid "no newline at end of file"
msgstr "Kein Newline am Dateiende"

#: lex.c:948 traditional.c:162
msgid "unterminated comment"
msgstr "nicht beendeter Kommentar"

#: lex.c:959
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++-Stil-Kommentare sind in ISO-C90 nicht erlaubt"

#: lex.c:961
msgid "(this will be reported only once per input file)"
msgstr "(dies wird nur einmal pro Eingabedatei gemeldet)"

#: lex.c:966
msgid "multi-line comment"
msgstr "mehrzeiliger Kommentar"

#: lex.c:1230
#, c-format
msgid "unspellable token %s"
msgstr "nicht buchstabierbares Token %s"

#: line-map.c:313
#, c-format
msgid "In file included from %s:%u"
msgstr "In Datei, eingefügt von %s:%u"

#: line-map.c:331
#, c-format
msgid ""
",\n"
"                 from %s:%u"
msgstr ""
",\n"
"                    von %s:%u"

#: macro.c:85
#, c-format
msgid "macro \"%s\" is not used"
msgstr "Makro »%s« wird nicht benutzt"

#: macro.c:124 macro.c:287
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "ungültiges eingebautes Makro »%s«"

#: macro.c:221
msgid "could not determine date and time"
msgstr "Datum und Zeit konnten nicht bestimmt werden"

#: macro.c:400
msgid "invalid string literal, ignoring final '\\'"
msgstr "ungültiges Zeichenkettenliteral, ignoriere abschließendes '\\'"

#: macro.c:483
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "das Einfügen von »%s« und »%s« ergibt kein gültiges Präprozessor-Token"

#: macro.c:521
msgid "ISO C99 requires rest arguments to be used"
msgstr "ISO-C99 erfordert, dass Restargumente verwendet werden"

#: macro.c:526
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "Makro »%s« erfordert %u Argumente, aber nur %u wurden angegeben"

#: macro.c:531
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "dem Makro »%s« wurden %u Argumente übergeben, aber es nimmt nur %u"

#: macro.c:642 traditional.c:675
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "unvollendete Argumentliste beim Makroaufruf »%s«"

#: macro.c:745
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "funktionsähnliches Makro »%s« muss mit Argumenten in traditionellem C verwendet werden"

#: macro.c:1261
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "doppelter Makroparameter »%s«"

#: macro.c:1306
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "»%s« darf nicht in Makroparameterliste auftreten"

#: macro.c:1314
msgid "macro parameters must be comma-separated"
msgstr "Makroparameter müssen mit Komma getrennt sein"

#: macro.c:1331
msgid "parameter name missing"
msgstr "Parametername fehlt"

#: macro.c:1348
msgid "anonymous variadic macros were introduced in C99"
msgstr "anonyme variadische Makros wurden in C99 eingeführt"

#: macro.c:1353
msgid "ISO C does not permit named variadic macros"
msgstr "ISO-C erlaubt keine benannten variadischen Makros"

#: macro.c:1362
msgid "missing ')' in macro parameter list"
msgstr "fehlendes ')' in Makroparameterliste"

#: macro.c:1439
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO-C99 erfordert Whitespace hinter Makroname"

#: macro.c:1463
msgid "missing whitespace after the macro name"
msgstr "Whitespace hinter Makroname fehlt"

#: macro.c:1493
msgid "'#' is not followed by a macro parameter"
msgstr "'#' wird nicht von einem Makroparameter gefolgt"

#: macro.c:1512
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "'##' kann nicht an den Enden einer Makroexpansion auftreten"

#: macro.c:1608
#, c-format
msgid "\"%s\" redefined"
msgstr "»%s« redefiniert"

#: macro.c:1613
msgid "this is the location of the previous definition"
msgstr "dies ist die Stelle der vorherigen Definition"

#: macro.c:1663
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "Makroargument »%s« würde in traditionellem C zum String gewandelt werden"

#: macro.c:1686
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "ungültiger Hash-Typ %d in cpp_macro_definition"

#: pch.c:84 pch.c:332 pch.c:354 pch.c:360
msgid "while writing precompiled header"
msgstr "beim Schreiben des vorkompilierten Headers"

#: pch.c:467
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: nicht verwendet, da »%.*s« nicht definiert"

#: pch.c:479
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: nicht verwendet, da »%.*s« als »%s« statt als »%.*s« definiert wurde"

#: pch.c:520
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: nicht verwendet, da »%s« definiert ist"

#: pch.c:533 pch.c:696
msgid "while reading precompiled header"
msgstr "beim Lesen des vorkompilierten Headers"

#: traditional.c:745
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "Rekursion bei Expansion des Makros »%s« entdeckt"

#: traditional.c:912
msgid "syntax error in macro parameter list"
msgstr "Syntaxfehler in Makroparameterliste"

#~ msgid "`%s' attribute directive ignored"
#~ msgstr "Attribut-Anweisung »%s« wird ignoriert"

#~ msgid "wrong number of arguments specified for `%s' attribute"
#~ msgstr "falsche Anzahl an Argumenten für das Attribut »%s« angegeben"

#~ msgid "`%s' attribute does not apply to types"
#~ msgstr "Attribut »%s« kann nicht auf Typen angewandt werden"

#~ msgid "`%s' attribute only applies to function types"
#~ msgstr "Attribut »%s« kann nur auf Funktionstypen angewandt werden"

#~ msgid "`%s' attribute ignored"
#~ msgstr "Attribut »%s« wird ignoriert"

#~ msgid "offset outside bounds of constant string"
#~ msgstr "Adressabstand ist außerhalb der Grenzen der konstanten Zeichenkette"

#~ msgid "second arg to `__builtin_prefetch' must be a constant"
#~ msgstr "zweites Argument für »__builtin_prefetch« muss eine Konstante sein"

#~ msgid "invalid second arg to __builtin_prefetch; using zero"
#~ msgstr "ungültiges zweites Argument für »__builtin_prefetch«; es wird Null verwendet"

#~ msgid "third arg to `__builtin_prefetch' must be a constant"
#~ msgstr "drittes Argument für »__builtin_prefetch« muss eine Konstante sein"

#~ msgid "invalid third arg to __builtin_prefetch; using zero"
#~ msgstr "ungültiges drittes Argument für »__builtin_prefetch«; es wird Null verwendet"

#~ msgid "argument of `__builtin_args_info' must be constant"
#~ msgstr "Argument von »__builtin_args_info« muss konstant sein"

#~ msgid "argument of `__builtin_args_info' out of range"
#~ msgstr "Argument von »__builtin_args_info« außerhalb des Wertebereichs"

#~ msgid "missing argument in `__builtin_args_info'"
#~ msgstr "fehlendes Argument in »__builtin_args_info«"

#~ msgid "`va_start' used in function with fixed args"
#~ msgstr "»va_start« in Funktion mit fester Parameterzahl verwendet"

#~ msgid "second parameter of `va_start' not last named argument"
#~ msgstr "zweiter Parameter von »va_start« ist nicht letztgenanntes Argument"

#~ msgid "`__builtin_next_arg' called without an argument"
#~ msgstr "»__builtin_next_arg« ohne Argument gerufen"

#~ msgid "too many arguments to function `va_start'"
#~ msgstr "zu viele Argumente für »va_start«"

#~ msgid "first argument to `va_arg' not of type `va_list'"
#~ msgstr "erstes Argument für »va_arg« nicht vom Typ »va_list«"

#~ msgid "`%s' is promoted to `%s' when passed through `...'"
#~ msgstr "»%s« auf »%s« gesetzt beim Durchlaufen von »...«"

#~ msgid "(so you should pass `%s' not `%s' to `va_arg')"
#~ msgstr "(Sie sollten also »%s« statt »%s« an »va_arg« übergeben)"

#~ msgid "invalid arg to `__builtin_frame_address'"
#~ msgstr "ungültiges Argument für »__builtin_frame_address«"

#~ msgid "invalid arg to `__builtin_return_address'"
#~ msgstr "ungültiges Argument für »__builtin_return_address«"

#~ msgid "unsupported arg to `__builtin_frame_address'"
#~ msgstr "nicht unterstütztes Argument für »__builtin_frame_address«"

#~ msgid "unsupported arg to `__builtin_return_address'"
#~ msgstr "nicht unterstütztes Argument für »__builtin_return_address«"

#~ msgid "second arg to `__builtin_expect' must be a constant"
#~ msgstr "zweites Argument für »__builtin_expect« muss eine Konstante sein"

#~ msgid "__builtin_longjmp second argument must be 1"
#~ msgstr "zweites Argument für __builtin_longjmp muss 1 sein"

#~ msgid "built-in function `%s' not currently supported"
#~ msgstr "eingebaute Funktion »%s« gegenwärtig nicht unterstützt"

#~ msgid "target format does not support infinity"
#~ msgstr "Zielformat unterstützt nicht »unendlich«"

#~ msgid "%Hsuggest explicit braces to avoid ambiguous `else'"
#~ msgstr "%Hes wird empfohlen, explizite geschweifte Klammern zu setzen, um mehrdeutiges »else« zu vermeiden"

#~ msgid "%J'%D' is not defined outside of function scope"
#~ msgstr "%J»%D« ist außerhalb des Funktionsgültigkeitsbereiches nicht definiert"

#~ msgid "string length `%d' is greater than the length `%d' ISO C%d compilers are required to support"
#~ msgstr "Zeichenkettenlänge »%d« ist größer als die Länge »%d«, die von ISO-C%d-Compilern unterstützt werden muss"

#~ msgid "overflow in constant expression"
#~ msgstr "Überlauf in Konstanten-Ausdruck"

#~ msgid "integer overflow in expression"
#~ msgstr "Ganzzahlüberlauf in Ausdruck"

#~ msgid "floating point overflow in expression"
#~ msgstr "Gleitkommaüberlauf in Ausdruck"

#~ msgid "vector overflow in expression"
#~ msgstr "Vektorüberlauf in Ausdruck"

#~ msgid "large integer implicitly truncated to unsigned type"
#~ msgstr "große Ganzzahl implizit auf vorzeichenlosen Typen abgeschnitten"

#~ msgid "negative integer implicitly converted to unsigned type"
#~ msgstr "negative Ganzzahl implizit in vorzeichenlosen Typen konvertiert"

#~ msgid "overflow in implicit constant conversion"
#~ msgstr "Überlauf in impliziter Konstantenkonvertierung"

#~ msgid "operation on `%s' may be undefined"
#~ msgstr "Operation auf »%s« könnte undefiniert sein"

#~ msgid "expression statement has incomplete type"
#~ msgstr "Ausdrucksanweisung hat unvollständigen Typ"

#~ msgid "case label does not reduce to an integer constant"
#~ msgstr "case-Marke reduziert nicht auf Ganzzahlkonstante"

#~ msgid "invalid truth-value expression"
#~ msgstr "ungültiger Wahrheitswert-Ausdruck"

#~ msgid "invalid operands to binary %s"
#~ msgstr "ungültige Operanden für binäres %s"

#~ msgid "comparison is always false due to limited range of data type"
#~ msgstr "Vergleich ist durch beschränkten Wertebereich des Datentyps stets »unwahr«"

#~ msgid "comparison is always true due to limited range of data type"
#~ msgstr "Vergleich ist durch beschränkten Wertebereich des Datentyps stets »wahr«"

#~ msgid "comparison of unsigned expression >= 0 is always true"
#~ msgstr "Vergleich eines vorzeichenlosen Ausdrucks >= 0 ist stets »wahr«"

#~ msgid "comparison of unsigned expression < 0 is always false"
#~ msgstr "Vergleich eines vorzeichenlosen Ausdrucks < 0 ist stets »unwahr«"

#~ msgid "pointer of type `void *' used in arithmetic"
#~ msgstr "Zeiger auf Typen »void *« in Arithmetik verwendet"

#~ msgid "pointer to a function used in arithmetic"
#~ msgstr "Zeiger auf Funktion in Arithmetik verwendet"

#~ msgid "pointer to member function used in arithmetic"
#~ msgstr "Zeiger auf Elementfunktion in Arithmetik verwendet"

#~ msgid "pointer to a member used in arithmetic"
#~ msgstr "Zeiger auf Element in Arithmetik verwendet"

#~ msgid "struct type value used where scalar is required"
#~ msgstr "Wert eines struct-Typs anstelle des geforderten Skalars verwendet"

#~ msgid "union type value used where scalar is required"
#~ msgstr "Wert eines union-Typs anstelle des geforderten Skalars verwendet"

#~ msgid "array type value used where scalar is required"
#~ msgstr "Wert eines array-Typs anstelle des geforderten Skalars verwendet"

#~ msgid "the address of `%D', will always evaluate as `true'"
#~ msgstr "die Adresse von »%D« wird immer zu »true« auswerten"

#~ msgid "suggest parentheses around assignment used as truth value"
#~ msgstr "um Zuweisung, die als Wahrheitswert verwendet wird, werden Klammern vorgeschlagen"

#~ msgid "invalid use of `restrict'"
#~ msgstr "ungültige Verwendung von »restrict«"

#~ msgid "invalid application of `sizeof' to a function type"
#~ msgstr "ungültige Anwendung von »sizeof« auf einen Funktionstypen"

#~ msgid "invalid application of `%s' to a void type"
#~ msgstr "ungültige Anwendung von »%s« auf einen void-Typen"

#~ msgid "invalid application of `%s' to an incomplete type"
#~ msgstr "ungültige Anwendung von »%s« auf einen unvollständigen Typen"

#~ msgid "`__alignof' applied to a bit-field"
#~ msgstr "»__alignof« auf Bitfeld angewandt"

#~ msgid "cannot disable built-in function `%s'"
#~ msgstr "kann eingebaute Funktion »%s« nicht abschalten"

#~ msgid "too few arguments to function `%s'"
#~ msgstr "zu wenig Argumente für Funktion »%s«"

#~ msgid "too many arguments to function `%s'"
#~ msgstr "zu viele Argumente für Funktion »%s«"

#~ msgid "non-floating-point argument to function `%s'"
#~ msgstr "nicht-Gleitkomma-Argument für Funktion »%s«"

#~ msgid "pointers are not permitted as case values"
#~ msgstr "Zeiger sind nicht als case-Werte zugelassen"

#~ msgid "range expressions in switch statements are non-standard"
#~ msgstr "Wertebereichsausdrücke in switch-Anweisungen sind nicht standardkonform"

#~ msgid "empty range specified"
#~ msgstr "leerer Wertebereich angegeben"

#~ msgid "duplicate (or overlapping) case value"
#~ msgstr "doppelte (oder sich überschneidende) case-Werte"

#~ msgid "%Jthis is the first entry overlapping that value"
#~ msgstr "%Jdies ist der erste Eintrag, der diesen Wert überschneidet"

#~ msgid "duplicate case value"
#~ msgstr "doppelter case-Wert"

#~ msgid "%Jpreviously used here"
#~ msgstr "%Jbereits hier verwendet"

#~ msgid "multiple default labels in one switch"
#~ msgstr "mehrere Standardmarken in einem »switch«"

#~ msgid "%Jthis is the first default label"
#~ msgstr "%Jdies ist die erste Standardmarke"

#~ msgid "taking the address of a label is non-standard"
#~ msgstr "das Ermitteln der Adresse einer Marke ist nicht standardkonform"

#~ msgid "%Hignoring return value of `%D', declared with attribute warn_unused_result"
#~ msgstr "%Hder Rückgabewert von »%D« mit dem Attribut warn_unused_result wird ignoriert"

#~ msgid "%Hignoring return value of function declared with attribute warn_unused_result"
#~ msgstr "%Hder Rückgabewert der Funktion, die mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert"

#~ msgid "declaration of \"%s\" shadows a parameter"
#~ msgstr "Deklaration von »%s« überdeckt einen Parameter"

#~ msgid "declaration of \"%s\" shadows a previous local"
#~ msgstr "Deklaration von »%s« überdeckt einen vorhergehenden lokalen Bezeichner"

#~ msgid "declaration of \"%s\" shadows a global declaration"
#~ msgstr "Deklaration von »%s« überdeckt eine globale Deklaration"

#~ msgid "%Jshadowed declaration is here"
#~ msgstr "%Jverdeckte Deklaration ist hier"

#~ msgid "unknown machine mode `%s'"
#~ msgstr "unbekannter Maschinenzustand »%s«"

#~ msgid "no data type for mode `%s'"
#~ msgstr "kein Datentyp für Zustand »%s«"

#~ msgid "invalid pointer mode `%s'"
#~ msgstr "ungültiger Zeigermodus »%s«"

#~ msgid "unable to emulate '%s'"
#~ msgstr "»%s« kann nicht emuliert werden"

#~ msgid "%Jsection attribute cannot be specified for local variables"
#~ msgstr "%JAbschnitts-Attribut kann nicht für lokale Variablen angegeben werden"

#~ msgid "%Jsection of '%D' conflicts with previous declaration"
#~ msgstr "%JAbschnitt von »%D« in Konflikt mit vorheriger Deklaration"

#~ msgid "%Jsection attribute not allowed for '%D'"
#~ msgstr "%JAbschnitts-Attribute nicht erlaubt für »%D«"

#~ msgid "%Jsection attributes are not supported for this target"
#~ msgstr "%JAbschnitts-Attribute werden für dieses Ziel nicht unterstützt"

#~ msgid "requested alignment is not a constant"
#~ msgstr "verlangte Ausrichtung ist keine Konstante"

#~ msgid "requested alignment is not a power of 2"
#~ msgstr "verlangte Ausrichtung ist keine Zweierpotenz"

#~ msgid "requested alignment is too large"
#~ msgstr "verlangte Ausrichtung ist zu groß"

#~ msgid "%Jalignment may not be specified for '%D'"
#~ msgstr "%Jfür »%D« darf keine Ausrichtung angegeben werden"

#~ msgid "%J'%D' defined both normally and as an alias"
#~ msgstr "%J»%D« sowohl normal als auch als Alias definiert"

#~ msgid "alias arg not a string"
#~ msgstr "Alias-Argument ist keine Zeichenkette"

#~ msgid "visibility arg not a string"
#~ msgstr "Sichtbarkeitsargument ist keine Zeichenkette"

#~ msgid "visibility arg must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
#~ msgstr "Sichtbarkeitsargument muss »default«, »hidden«, »protected« oder »internal« sein"

#~ msgid "tls_model arg not a string"
#~ msgstr "Argument für tls_model ist keine Zeichenkette"

#~ msgid "tls_model arg must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
#~ msgstr "Argument für tls_model muss »local-exec«, »initial-exec«, »local-dynamic« oder »global-dynamic« sein"

#~ msgid "%J'%E' attribute applies only to functions"
#~ msgstr "%JAttribut »%E« kann nur auf Funktionen angewandt werden"

#~ msgid "%Jcan't set '%E' attribute after definition"
#~ msgstr "%Jkann Attribut »%E« nicht nach der Definition setzen"

#~ msgid "`%s' attribute ignored for `%s'"
#~ msgstr "Attribut »%s« ignoriert für »%s«"

#~ msgid "invalid vector type for attribute `%s'"
#~ msgstr "ungültiger Vektortyp für Attribut »%s«"

#~ msgid "no vector mode with the size and type specified could be found"
#~ msgstr "Vektorzustand mit der angegebenen Größe und dem angegebenen Typ konnte nicht gefunden werden"

#~ msgid "nonnull attribute without arguments on a non-prototype"
#~ msgstr "Nicht-Null-Attribut ohne Argumente für einen Nicht-Prototyp"

#~ msgid "nonnull argument has invalid operand number (arg %lu)"
#~ msgstr "Nicht-Null-Argument hat ungültige Operandenzahl (Argument %lu)"

#~ msgid "nonnull argument with out-of-range operand number (arg %lu, operand %lu)"
#~ msgstr "Nicht-Null-Argument mit Operandenzahl außerhalb des Wertebereiches (Argument %lu, Operand %lu)"

#~ msgid "nonnull argument references non-pointer operand (arg %lu, operand %lu)"
#~ msgstr "Nicht-Null-Argument referenziert Nicht-Zeiger-Operanden (Argument %lu, Operand %lu)"

#~ msgid "null argument where non-null required (arg %lu)"
#~ msgstr "Null-Argument, wo Nicht-Null erwartet (Argument %lu)"

#~ msgid "cleanup arg not an identifier"
#~ msgstr "Argument für cleanup ist kein Bezeichner"

#~ msgid "cleanup arg not a function"
#~ msgstr "Argument für cleanup ist keine Funktion"

#~ msgid "%s at end of input"
#~ msgstr "%s am Ende der Eingabe"

#~ msgid "%s before %s'%c'"
#~ msgstr "%s vor %s'%c'"

#~ msgid "%s before %s'\\x%x'"
#~ msgstr "%s vor %s'\\x%x'"

#~ msgid "%s before string constant"
#~ msgstr "%s vor Zeichenkettenkonstante"

#~ msgid "%s before numeric constant"
#~ msgstr "%s vor numerischer Konstante"

#~ msgid "%s before \"%s\""
#~ msgstr "%s vor \"%s\""

#~ msgid "%s before '%s' token"
#~ msgstr "%s vor »%s«"

#~ msgid "%s"
#~ msgstr "%s"

#~ msgid "void value not ignored as it ought to be"
#~ msgstr "void-Wert nicht ignoriert wie es sein sollte"

#~ msgid "conversion to non-scalar type requested"
#~ msgstr "Konvertierung zu Nicht-Skalar-Typ verlangt"

#~ msgid "%Jarray '%D' assumed to have one element"
#~ msgstr "%JFeld »%D« als einelementig betrachtet"

#~ msgid "%Jlabel `%D' used but not defined"
#~ msgstr "%JMarke »%D« verwendet, aber nicht definiert"

#~ msgid "%Jlabel `%D' defined but not used"
#~ msgstr "%JMarke »%D« definiert aber nicht verwendet"

#~ msgid "%Jlabel `%D' declared but not defined"
#~ msgstr "%JMarke »%D« deklariert, aber nicht definiert"

#~ msgid "%Junused variable `%D'"
#~ msgstr "%JVariable »%D« wird nicht verwendet"

#~ msgid "a parameter list with an ellipsis can't match an empty parameter name list declaration"
#~ msgstr "eine Parameterliste mit Auslassung passt nicht zu einer leeren Parameternamenslistendeklaration"

#~ msgid "an argument type that has a default promotion can't match an empty parameter name list declaration"
#~ msgstr "ein Argumenttyp mit Standard-Promotion passt nicht zu leerer Parameternamenslistendeklaration"

#~ msgid "%Jprototype for '%D' declares more arguments than previous old-style definition"
#~ msgstr "%JPrototyp für »%D« deklariert mehr Argumente als vorherige Definition im alten Stil"

#~ msgid "%Jprototype for '%D' declares fewer arguments than previous old-style definition"
#~ msgstr "%JPrototyp für »%D« deklariert weniger Argumente als vorherige Definition im alten Stil"

#~ msgid "%Jprototype for '%D' declares arg %d with incompatible type"
#~ msgstr "%JPrototyp für »%D« deklariert Argument %d mit inkompatiblem Typen"

#~ msgid "%Jprototype for '%D' follows non-prototype definition"
#~ msgstr "%JPrototyp für »%D« folgt einer Nicht-Prototyp-Definition"

#~ msgid "%Jprevious definition of '%D' was here"
#~ msgstr "%Jvorherige Definition von »%D« war hier"

#~ msgid "%Jprevious implicit declaration of '%D' was here"
#~ msgstr "%Jvorherige implizite Deklaration von »%D« war hier"

#~ msgid "%Jprevious declaration of '%D' was here"
#~ msgstr "%Jvorherige Deklaration von »%D« war hier"

#~ msgid "%J'%D' redeclared as different kind of symbol"
#~ msgstr "%J»%D« redeklariert als andere Symbolart"

#~ msgid "%Jbuilt-in function '%D' declared as non-function"
#~ msgstr "%Jeingebaute Funktion »%D« als Nicht-Funktion deklariert"

#~ msgid "%Jshadowing built-in function '%D'"
#~ msgstr "%Jeingebaute Funktion »%D« überdeckt"

#~ msgid "%Jconflicting types for built-in function '%D'"
#~ msgstr "%Jin Konflikt stehende Typen für eingebaute Funktion »%D«"

#~ msgid "%Jconflicting types for '%D'"
#~ msgstr "%Jin Konflikt stehende Typen für »%D«"

#~ msgid "%Jredefinition of typedef '%D'"
#~ msgstr "%JRedefinition des typedef »%D«"

#~ msgid "%Jredefinition of '%D'"
#~ msgstr "%JRedefinition von »%D«"

#~ msgid "%Jstatic declaration of '%D' follows non-static declaration"
#~ msgstr "%Jstatische Deklaration von »%D« folgt Nicht-statischer Deklaration"

#~ msgid "%Jnon-static declaration of '%D' follows static declaration"
#~ msgstr "%JNicht-statische-Deklaration von »%D« folgt statischer Deklaration"

#~ msgid "%Jthread-local declaration of '%D' follows non-thread-local declaration"
#~ msgstr "%JThread-lokale Deklaration von »%D« folgt nicht-Thread-lokaler Deklaration"

#~ msgid "%Jnon-thread-local declaration of '%D' follows thread-local declaration"
#~ msgstr "%JNicht-Thread-lokale Deklaration von »%D« folgt Thread-lokaler Deklaration"

#~ msgid "%Jextern declaration of '%D' follows declaration with no linkage"
#~ msgstr "%Jextern-Deklaration von »%D« folgt Deklaration ohne Bindung"

#~ msgid "%Jdeclaration of '%D' with no linkage follows extern declaration"
#~ msgstr "%JDeklaration von »%D« ohne Bindung folgt einer externen Deklaration"

#~ msgid "%Jredeclaration of '%D' with no linkage"
#~ msgstr "%JRedeklarationen von »%D« ohne Bindung"

#~ msgid "%Jredeclaration of '%D' with different visibility (old visibility preserved)"
#~ msgstr "%JRedeklaration von »%D« mit anderer Sichtbarkeit (alte Sichtbarkeit beibehalten)"

#~ msgid "%Jinline declaration of '%D' follows declaration with attribute noinline"
#~ msgstr "%Jinline-Deklaration von »%D« folgt Deklaration mit Attribut noinline"

#~ msgid "%Jdeclaration of '%D' with attribute noinline follows inline declaration "
#~ msgstr "%JDeklaration von »%D« mit Attribut noinline folgt inline-Deklaration "

#~ msgid "%J'%D' declared inline after being called"
#~ msgstr "%J»%D« als inline deklariert nachdem es aufgerufen wurde"

#~ msgid "%J'%D' declared inline after its definition"
#~ msgstr "%J»%D« nach der Definition als inline deklariert"

#~ msgid "%Jvolatile declaration of '%D' follows non-volatile declaration"
#~ msgstr "%J»volatile«-Deklaration von »%D« folgt nicht-»volatile«-Deklaration"

#~ msgid "%Jnon-volatile declaration of '%D' follows volatile declaration"
#~ msgstr "%JNicht-»volatile«-Deklaration von »%D« folgt »volatile«-Deklaration"

#~ msgid "%Jconst declaration of '%D' follows non-const declaration"
#~ msgstr "%Jconst-Deklaration für »%D« folgt Nicht-const Deklaration"

#~ msgid "%Jnon-const declaration of '%D' follows const declaration"
#~ msgstr "%JNicht-const-Deklaration von »%D« folgt const-Deklaration"

#~ msgid "%Jredundant redeclaration of '%D'"
#~ msgstr "%Jredundante Redeklaration von »%D«"

#~ msgid "nested extern declaration of `%s'"
#~ msgstr "geschachtelte extern-Deklaration von »%s«"

#~ msgid "%Jprevious declaration of '%D'"
#~ msgstr "%Jvorherige Deklaration von »%D«"

#~ msgid "implicit declaration of function `%s'"
#~ msgstr "implizite Deklaration der Funktion »%s«"

#~ msgid "`%s' undeclared here (not in a function)"
#~ msgstr "»%s« ist hier nicht deklariert (nicht in einer Funktion)"

#~ msgid "`%s' undeclared (first use in this function)"
#~ msgstr "»%s« nicht deklariert (erste Benutzung in dieser Funktion)"

#~ msgid "(Each undeclared identifier is reported only once"
#~ msgstr "(Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt"

#~ msgid "for each function it appears in.)"
#~ msgstr "für jede Funktion in der er auftritt.)"

#~ msgid "label %s referenced outside of any function"
#~ msgstr "Marke %s außerhalb einer Funktion referenziert"

#~ msgid "duplicate label declaration `%s'"
#~ msgstr "doppelte Markendeklaration »%s«"

#~ msgid "%Jthis is a previous declaration"
#~ msgstr "%Jdies ist eine vorherige Deklaration"

#~ msgid "%Hduplicate label `%D'"
#~ msgstr "%Hdoppelte Marke »%D«"

#~ msgid "%J`%D' previously defined here"
#~ msgstr "%J»%D« bereits hier definiert"

#~ msgid "%J`%D' previously declared here"
#~ msgstr "%J»%D« bereits hier deklariert"

#~ msgid "%Htraditional C lacks a separate namespace for labels, identifier `%s' conflicts"
#~ msgstr "%Htraditionelles C bietet keinen separaten Namespace für Marken an, Bezeichner »%s« steht in Konflikt"

#~ msgid "%H`%s' defined as wrong kind of tag"
#~ msgstr "%H»%s« definiert als falsche Symbolart"

#~ msgid "unnamed struct/union that defines no instances"
#~ msgstr "unbenannte struct/union, die keine Instanzen definiert"

#~ msgid "useless keyword or type name in empty declaration"
#~ msgstr "nutzloses Schlüsselwort oder Typenname in leerer Deklaration"

#~ msgid "two types specified in one empty declaration"
#~ msgstr "zwei Typen in einer leeren Deklaration angegeben"

#~ msgid "empty declaration"
#~ msgstr "leere Deklaration"

#~ msgid "ISO C90 does not support `static' or type qualifiers in parameter array declarators"
#~ msgstr "ISO-C90 unterstützt kein »static« oder Typkennzeichner in Parameterfelddeklaratoren"

#~ msgid "ISO C90 does not support `[*]' array declarators"
#~ msgstr "ISO-C90 unterstützt nicht »[*]«-Felddeklaratoren"

#~ msgid "GCC does not yet properly implement `[*]' array declarators"
#~ msgstr "GCC implementiert noch keine richtigen »[*]«-Felddeklaratoren"

#~ msgid "static or type qualifiers in abstract declarator"
#~ msgstr "static oder Typkennzeichner in abstraktem Deklarator"

#~ msgid "%J'%D' is usually a function"
#~ msgstr "%J»%D« ist üblicherweise eine Funktion"

#~ msgid "typedef `%s' is initialized (use __typeof__ instead)"
#~ msgstr "typedef »%s« ist initialisiert (benutzen Sie stattdessen __typeof__)"

#~ msgid "function `%s' is initialized like a variable"
#~ msgstr "Funktion »%s« ist wie eine Variable initialisiert"

#~ msgid "parameter `%s' is initialized"
#~ msgstr "Parameter »%s« ist initialisiert"

#~ msgid "variable-sized object may not be initialized"
#~ msgstr "Objekt variabler Größe darf nicht initialisiert werden"

#~ msgid "variable `%s' has initializer but incomplete type"
#~ msgstr "Variable »%s« hat Initialisierung, aber unvollständigen Typ"

#~ msgid "elements of array `%s' have incomplete type"
#~ msgstr "Elemente des Feldes »%s« haben unvollständigen Typ"

#~ msgid "%Jinline function '%D' given attribute noinline"
#~ msgstr "%Jinline-Funktion »%D« wurde das Attribut »noinline« gegeben"

#~ msgid "%Jinitializer fails to determine size of '%D'"
#~ msgstr "%JInitialisierung scheitert an Größenbestimmung von »%D«"

#~ msgid "%Jarray size missing in '%D'"
#~ msgstr "%JFeldgröße in »%D« fehlt"

#~ msgid "%Jzero or negative size array '%D'"
#~ msgstr "%JFeldgröße von »%D« ist null oder negativ"

#~ msgid "%Jstorage size of '%D' isn't known"
#~ msgstr "%JSpeichergröße von »%D« ist unbekannt"

#~ msgid "%Jstorage size of '%D' isn't constant"
#~ msgstr "%JSpeichergröße von »%D« ist nicht konstant"

#~ msgid "%Jignoring asm-specifier for non-static local variable '%D'"
#~ msgstr "%Jasm-Symbol für nicht-statische lokale Variable »%D« wird ignoriert"

#~ msgid "ISO C forbids forward parameter declarations"
#~ msgstr "ISO-C verbietet Vorwärtsdeklaration für Parameter"

#~ msgid "<anonymous>"
#~ msgstr "<anonym>"

#~ msgid "bit-field `%s' width not an integer constant"
#~ msgstr "Breite des Bitfeldes »%s« ist keine Ganzzahlkonstante"

#~ msgid "negative width in bit-field `%s'"
#~ msgstr "negative Breite in Bitfeld »%s«"

#~ msgid "zero width for bit-field `%s'"
#~ msgstr "Breite null für Bitfeld »%s«"

#~ msgid "bit-field `%s' has invalid type"
#~ msgstr "Bitfeld »%s« hat ungültigen Typen"

#~ msgid "type of bit-field `%s' is a GCC extension"
#~ msgstr "der Typ des Bitfeldes »%s« ist eine Erweiterung des GCC"

#~ msgid "width of `%s' exceeds its type"
#~ msgstr "Breite von »%s« überschreitet dessen Typen"

#~ msgid "`%s' is narrower than values of its type"
#~ msgstr "»%s« ist schmaler als die Werte seines Typs"

#~ msgid "`long long long' is too long for GCC"
#~ msgstr "»long long long« ist für GCC zu lang"

#~ msgid "ISO C90 does not support `long long'"
#~ msgstr "ISO-C90 unterstützt nicht »long long«"

#~ msgid "duplicate `%s'"
#~ msgstr "doppeltes »%s«"

#~ msgid "`__thread' before `extern'"
#~ msgstr "»__thread« vor »extern«"

#~ msgid "`__thread' before `static'"
#~ msgstr "»__thread« vor »static«"

#~ msgid "two or more data types in declaration of `%s'"
#~ msgstr "zwei oder mehr Datentypen in Deklaration von »%s«"

#~ msgid "`%s' fails to be a typedef or built in type"
#~ msgstr "»%s« ist kein typedef oder eingebauter Typ"

#~ msgid "type defaults to `int' in declaration of `%s'"
#~ msgstr "»int« ist Standardtyp in Deklaration von »%s«"

#~ msgid "both long and short specified for `%s'"
#~ msgstr "sowohl »long« als auch »short« für »%s« angegeben"

#~ msgid "long or short specified with char for `%s'"
#~ msgstr "»long« oder »short« mit »char« für »%s« angegeben"

#~ msgid "long or short specified with floating type for `%s'"
#~ msgstr "»long« oder »short« mit Gleitkommatyp für »%s« angegeben"

#~ msgid "the only valid combination is `long double'"
#~ msgstr "die einzig gültige Kombination ist »long double«"

#~ msgid "both signed and unsigned specified for `%s'"
#~ msgstr "sowohl »signed« als auch »unsigned« für »%s« angegeben"

#~ msgid "long, short, signed or unsigned invalid for `%s'"
#~ msgstr "long, short, signed oder unsigned ist ungültig für »%s«"

#~ msgid "long, short, signed or unsigned used invalidly for `%s'"
#~ msgstr "long, short, signed oder unsigned ungültig verwendet für »%s«"

#~ msgid "complex invalid for `%s'"
#~ msgstr "complex ungültig für »%s«"

#~ msgid "ISO C90 does not support complex types"
#~ msgstr "ISO-C90 unterstützt nicht komplexe Typen"

#~ msgid "ISO C does not support plain `complex' meaning `double complex'"
#~ msgstr "ISO-C unterstützt nicht »double complex« bedeutendes »complex«"

#~ msgid "ISO C does not support complex integer types"
#~ msgstr "ISO-C unterstützt keine komplexen Ganzzahltypen"

#~ msgid "duplicate `const'"
#~ msgstr "doppeltes »const«"

#~ msgid "duplicate `restrict'"
#~ msgstr "doppeltes »restrict«"

#~ msgid "duplicate `volatile'"
#~ msgstr "doppeltes »volatile«"

#~ msgid "multiple storage classes in declaration of `%s'"
#~ msgstr "mehrere Speicherklassen in Deklaration von »%s«"

#~ msgid "function definition declared `auto'"
#~ msgstr "Funktionsdefinition deklarierte »auto«"

#~ msgid "function definition declared `register'"
#~ msgstr "Funktionsdefinition deklarierte »register«"

#~ msgid "function definition declared `typedef'"
#~ msgstr "Funktionsdefinition deklarierte »typedef«"

#~ msgid "function definition declared `__thread'"
#~ msgstr "Funktionsdefinition deklarierte »__thread«"

#~ msgid "storage class specified for structure field `%s'"
#~ msgstr "Speicherklasse für Strukturfeld »%s« angegeben"

#~ msgid "storage class specified for parameter `%s'"
#~ msgstr "Speicherklasse für Parameter »%s« angegeben"

#~ msgid "storage class specified for typename"
#~ msgstr "Speicherklasse für Typnamen angegeben"

#~ msgid "`%s' initialized and declared `extern'"
#~ msgstr "»%s« initialisiert und als »extern« deklariert"

#~ msgid "`%s' has both `extern' and initializer"
#~ msgstr "»%s« hat sowohl »extern« als auch Initialisierung"

#~ msgid "file-scope declaration of `%s' specifies `auto'"
#~ msgstr "Deklaration von »%s« in Datei-Sichtbarkeitsbereich spezifiziert »auto«"

#~ msgid "nested function `%s' declared `extern'"
#~ msgstr "geschachtelte Funktion »%s« als »extern« deklariert"

#~ msgid "function-scope `%s' implicitly auto and declared `__thread'"
#~ msgstr "Funktions-Gültigkeitsbereich »%s« ist implizit auto und deklarierte »__thread«"

#~ msgid "static or type qualifiers in non-parameter array declarator"
#~ msgstr "»static« oder Typkennzeichner in Nicht-Parameter-Felddeklarator"

#~ msgid "declaration of `%s' as array of voids"
#~ msgstr "Deklaration von »%s« als Feld von voids"

#~ msgid "declaration of `%s' as array of functions"
#~ msgstr "Deklaration von »%s« als Feld von Funtionen"

#~ msgid "invalid use of structure with flexible array member"
#~ msgstr "ungültige Verwendung einer Struktur mit flexiblem Feldelement"

#~ msgid "size of array `%s' has non-integer type"
#~ msgstr "Feldgröße von »%s« hat Nicht-Ganzzahltyp"

#~ msgid "ISO C forbids zero-size array `%s'"
#~ msgstr "ISO-C verbietet Feld »%s« der Größe null"

#~ msgid "size of array `%s' is negative"
#~ msgstr "Feldgröße von »%s« ist negativ"

#~ msgid "ISO C90 forbids array `%s' whose size can't be evaluated"
#~ msgstr "ISO-C90 verbietet Feld »%s«, dessen Größe nicht ausgewertet werden kann"

#~ msgid "ISO C90 forbids variable-size array `%s'"
#~ msgstr "ISO-C90 verbietet Feld »%s« variabler Größe"

#~ msgid "size of array `%s' is too large"
#~ msgstr "Feldgröße von »%s« ist zu groß"

#~ msgid "ISO C90 does not support flexible array members"
#~ msgstr "ISO-C90 unterstützt keine flexiblen Felder als Elemente"

#~ msgid "array type has incomplete element type"
#~ msgstr "Feldtyp hat unvollständigen Elementtypen"

#~ msgid "`%s' declared as function returning a function"
#~ msgstr "»%s« als Funktion, die eine Funktion zurückgibt, deklariert"

#~ msgid "`%s' declared as function returning an array"
#~ msgstr "»%s« als Funktion, die ein Feld zurückgibt, deklariert"

#~ msgid "ISO C forbids qualified void function return type"
#~ msgstr "ISO-C verbietet qualifiziertes void als Funktions-Rückgabetypen"

#~ msgid "type qualifiers ignored on function return type"
#~ msgstr "Typkennzeichner ignoriert an Funktions-Rückgabewert"

#~ msgid "ISO C forbids qualified function types"
#~ msgstr "ISO-C verbietet qualifizierte Funktionstypen"

#~ msgid "invalid type modifier within pointer declarator"
#~ msgstr "ungültiger Typmodifizierer innerhalb Zeigerdeklarator"

#~ msgid "ISO C forbids const or volatile function types"
#~ msgstr "ISO-C verbietet const- oder volatile-Funktionstypen"

#~ msgid "variable or field `%s' declared void"
#~ msgstr "Variable oder Feld »%s« als »void« deklariert"

#~ msgid "attributes in parameter array declarator ignored"
#~ msgstr "Attribute in Parameterfelddeklarator ignoriert"

#~ msgid "invalid type modifier within array declarator"
#~ msgstr "ungültiger Typmodifizierer in Felddeklarator"

#~ msgid "field `%s' declared as a function"
#~ msgstr "Feld »%s« als Funktion deklariert"

#~ msgid "field `%s' has incomplete type"
#~ msgstr "Feld »%s« hat unvollständigen Typen"

#~ msgid "invalid storage class for function `%s'"
#~ msgstr "ungültige Speicherklasse für Funktion »%s«"

#~ msgid "`noreturn' function returns non-void value"
#~ msgstr "»noreturn«-Funktion gibt nicht-void-Wert zurück"

#~ msgid "cannot inline function `main'"
#~ msgstr "»main« ist nicht als »inline« möglich"

#~ msgid "variable previously declared `static' redeclared `extern'"
#~ msgstr "als »extern« redeklarierte Variable war bereits als »static« deklariert"

#~ msgid "%Jvariable '%D' declared `inline'"
#~ msgstr "%JVariable »%D« als »inline« deklariert"

#~ msgid "thread-local storage not supported for this target"
#~ msgstr "Thread-lokaler Speicher wird für dieses Ziel nicht unterstützt"

#~ msgid "function declaration isn't a prototype"
#~ msgstr "Funktionsdeklaration ist kein Prototyp"

#~ msgid "parameter names (without types) in function declaration"
#~ msgstr "Parameternamen (ohne Typen) in Funktionsdeklaration"

#~ msgid "parameter `%s' has incomplete type"
#~ msgstr "Parameter »%s« hat unvollständigen Typen"

#~ msgid "parameter has incomplete type"
#~ msgstr "Parameter hat unvollständigen Typen"

#~ msgid "\"void\" as only parameter may not be qualified"
#~ msgstr "\"void\" kann als einziger Parameter nicht qualifiziert werden"

#~ msgid "\"void\" must be the only parameter"
#~ msgstr "\"void\" muss der einzige Parameter sein"

#~ msgid "%Jparameter \"%D\" has just a forward declaration"
#~ msgstr "%JParameter »%D« hat nur eine Vorwärtsdeklaration"

#~ msgid "\"%s %s\" declared inside parameter list"
#~ msgstr "\"%s %s\" innerhalb Parameterliste deklariert"

#~ msgid "anonymous %s declared inside parameter list"
#~ msgstr "anonymes %s innerhalb Parameterliste deklariert"

#~ msgid "its scope is only this definition or declaration, which is probably not what you want"
#~ msgstr "sein Gültigkeitsbereich umfasst nur diese Definition bzw. Deklaration, was Sie wahrscheinlich nicht wollten"

#~ msgid "redefinition of `union %s'"
#~ msgstr "Redefinition von »union %s«"

#~ msgid "redefinition of `struct %s'"
#~ msgstr "Redefinition von »struct %s«"

#~ msgid "declaration does not declare anything"
#~ msgstr "Deklaration deklariert nichts"

#~ msgid "%Jduplicate member '%D'"
#~ msgstr "%Jdoppeltes Element »%D«"

#~ msgid "%s defined inside parms"
#~ msgstr "%s innerhalb Parameter definiert"

#~ msgid "union"
#~ msgstr "Union"

#~ msgid "structure"
#~ msgstr "Struktur"

#~ msgid "%s has no %s"
#~ msgstr "%s hat kein %s"

#~ msgid "struct"
#~ msgstr "struct"

#~ msgid "named members"
#~ msgstr "benannte Elemente"

#~ msgid "members"
#~ msgstr "Elemente"

#~ msgid "nested redefinition of `%s'"
#~ msgstr "Verschachtelte Redefinition von »%s«"

#~ msgid "%Jflexible array member in union"
#~ msgstr "%Jflexibles Feldelement in Union"

#~ msgid "%Jflexible array member not at end of struct"
#~ msgstr "%Jflexibles Feld-Element nicht am Ende von struct"

#~ msgid "%Jflexible array member in otherwise empty struct"
#~ msgstr "%Jlexibler Feld-Element in ansonsten leerem struct"

#~ msgid "%Jinvalid use of structure with flexible array member"
#~ msgstr "%Jungültige Verwendung einer Struktur mit flexiblem Feld-Element"

#~ msgid "union cannot be made transparent"
#~ msgstr "union kann nicht transparent gemacht werden"

#~ msgid "redeclaration of `enum %s'"
#~ msgstr "Redeklaration von »enum %s«"

#~ msgid "enum defined inside parms"
#~ msgstr "enum innerhalb von Parametern definiert"

#~ msgid "enumeration values exceed range of largest integer"
#~ msgstr "Aufzählungswerte überschreiten Wertebereich des größten Ganzzahltypen"

#~ msgid "enumerator value for `%s' not integer constant"
#~ msgstr "Aufzählungswert für »%s« ist keine Ganzzahlkonstante"

#~ msgid "overflow in enumeration values"
#~ msgstr "Überlauf in Aufzählungswerten"

#~ msgid "ISO C restricts enumerator values to range of `int'"
#~ msgstr "ISO-C beschränkt Aufzählungswerte auf Bereich von »int«"

#~ msgid "return type is an incomplete type"
#~ msgstr "Rückgabetyp ist unvollständig"

#~ msgid "return type defaults to `int'"
#~ msgstr "Rückgabetyp ist auf »int« voreingestellt"

#~ msgid "%Jno previous prototype for '%D'"
#~ msgstr "%Jkein vorheriger Prototyp für »%D«"

#~ msgid "%J'%D' was used with no prototype before its definition"
#~ msgstr "%J»%D« wurde vor seiner Definition ohne Prototyp verwendet"

#~ msgid "%Jno previous declaration for '%D'"
#~ msgstr "%Jkeine vorherige Deklaration für »%D«"

#~ msgid "%J`%D' was used with no declaration before its definition"
#~ msgstr "%J»%D« wurde vor seiner Definition ohne Deklaration verwendet"

#~ msgid "%Jreturn type of '%D' is not `int'"
#~ msgstr "%JRückgabetyp von »%D« ist nicht »int«"

#~ msgid "%Jfirst argument of '%D' should be `int'"
#~ msgstr "%Jerstes Argument von »%D« sollte »int« sein"

#~ msgid "%Jsecond argument of '%D' should be 'char **'"
#~ msgstr "%Jzweites Argument von »%D« sollte »char **« sein"

#~ msgid "%Jthird argument of '%D' should probably be 'char **'"
#~ msgstr "%Jdrittes Argument von »%D« sollte wahrscheinlich »char **« sein"

#~ msgid "%J'%D' takes only zero or two arguments"
#~ msgstr "%J»%D« benötigt entweder null oder zwei Argumente"

#~ msgid "%J'%D' is normally a non-static function"
#~ msgstr "%J»%D« ist normalerweise eine Nicht-static-Funktion"

#~ msgid "%Jold-style parameter declarations in prototyped function definition"
#~ msgstr "%JParameterdeklarationen alten Stils in Prototyp-Funktionsdeklaration"

#~ msgid "%Jparameter name omitted"
#~ msgstr "%JParametername ausgelassen"

#~ msgid "%Jparameter name missing from parameter list"
#~ msgstr "%JParametername fehlt in Parameterliste"

#~ msgid "%J\"%D\" declared as a non-parameter"
#~ msgstr "%J\"%D\" als Nicht-Parameter deklariert"

#~ msgid "%Jmultiple parameters named \"%D\""
#~ msgstr "%Jmehrere Parameter wurden »%D« genannt"

#~ msgid "%Jparameter \"%D\" declared void"
#~ msgstr "%JParameter »%D« als void deklariert"

#~ msgid "%Jtype of \"%D\" defaults to \"int\""
#~ msgstr "%JTyp von »%D« ist auf »int« voreingestellt"

#~ msgid "%Jparameter \"%D\" has incomplete type"
#~ msgstr "%JParameter \"%D\" hat unvollständigen Typen"

#~ msgid "%Jdeclaration for parameter \"%D\" but no such parameter"
#~ msgstr "%Jnicht vorhandener Parameter »%D« deklariert"

#~ msgid "number of arguments doesn't match prototype"
#~ msgstr "Anzahl der Argumente passt nicht zum Prototypen"

#~ msgid "%Hprototype declaration"
#~ msgstr "%HPrototyp-Deklaration"

#~ msgid "promoted argument \"%D\" doesn't match prototype"
#~ msgstr "weitergegebenes Argument »%D« passt nicht zum Prototypen"

#~ msgid "argument \"%D\" doesn't match prototype"
#~ msgstr "Argument »%D« passt nicht zum Prototypen"

#~ msgid "no return statement in function returning non-void"
#~ msgstr "keine return-Anweisung in nicht void zurückgebender Funktion"

#~ msgid "this function may return with or without a value"
#~ msgstr "diese Funktion kann mit oder ohne Wert zurückkehren"

#~ msgid "'for' loop initial declaration used outside C99 mode"
#~ msgstr "Anfangsdeklaration in »for«-Schleife außerhalb C99-Modus verwendet"

#~ msgid "'struct %s' declared in 'for' loop initial declaration"
#~ msgstr "»struct %s« in Anfangsdeklaration einer »for«-Schleife deklariert"

#~ msgid "'union %s' declared in 'for' loop initial declaration"
#~ msgstr "»union %s« in Anfangsdeklaration einer »for«-Schleife deklariert"

#~ msgid "'enum %s' declared in 'for' loop initial declaration"
#~ msgstr "»enum %s« in Anfangsdeklaration einer »for«-Schleife deklariert"

#~ msgid "%Jdeclaration of non-variable '%D' in 'for' loop initial declaration"
#~ msgstr "%JDeklaration der Nicht-Variablen »%D« in Anfangsdeklaration einer »for«-Schleife"

#~ msgid "%Jdeclaration of static variable '%D' in 'for' loop initial declaration"
#~ msgstr "%JDeklaration der »static«-Variablen »%D« in Anfangsdeklaration einer »for«-Schleife"

#~ msgid "%Jdeclaration of 'extern' variable '%D' in 'for' loop initial declaration"
#~ msgstr "%JDeklaration der »extern«-Variablen »%D« in Anfangsdeklaration einer »for«-Schleife"

#~ msgid "%Jredefinition of global '%D'"
#~ msgstr "%JRedefinition des globalen »%D«"

#~ msgid "%J'%D' previously defined here"
#~ msgstr "%J»%D« bereits hier verwendet"

#~ msgid "format string has invalid operand number"
#~ msgstr "Formatzeichenkette hat ungültige Operandenzahl"

#~ msgid "function does not return string type"
#~ msgstr "Funktion gibt keinen Zeichenkettentypen zurück"

#~ msgid "format string arg not a string type"
#~ msgstr "Format-Zeichenkettenargument ist kein Zeichenkettentyp"

#~ msgid "unrecognized format specifier"
#~ msgstr "unerkannte Formatangabe"

#~ msgid "`%s' is an unrecognized format function type"
#~ msgstr "»%s« ist ein nicht erkannter Formatfunktionstyp"

#~ msgid "'...' has invalid operand number"
#~ msgstr "»...« hat ungültige Operandenzahl"

#~ msgid "format string arg follows the args to be formatted"
#~ msgstr "Format-Zeichenkettenargument folgt den zu formatierenden Argumenten"

#~ msgid "` ' flag"
#~ msgstr "» «-Kennzeichen"

#~ msgid "the ` ' printf flag"
#~ msgstr "das » «-printf-Kennzeichen"

#~ msgid "`+' flag"
#~ msgstr "»+«-Kennzeichen"

#~ msgid "the `+' printf flag"
#~ msgstr "das »+«-printf-Kennzeichen"

#~ msgid "`#' flag"
#~ msgstr "»#«-Kennzeichen"

#~ msgid "the `#' printf flag"
#~ msgstr "das »#«-printf-Kennzeichen"

#~ msgid "`0' flag"
#~ msgstr "»0«-Kennzeichen"

#~ msgid "the `0' printf flag"
#~ msgstr "das »0«-printf-Kennzeichen"

#~ msgid "`-' flag"
#~ msgstr "»-«-Kennzeichen"

#~ msgid "the `-' printf flag"
#~ msgstr "das »-«-printf-Kennzeichen"

#~ msgid "`'' flag"
#~ msgstr "»'«-Kennzeichen"

#~ msgid "the `'' printf flag"
#~ msgstr "das »'«-printf-Kennzeichen"

#~ msgid "`I' flag"
#~ msgstr "»I«-Kennzeichen"

#~ msgid "the `I' printf flag"
#~ msgstr "das »I«-printf-Kennzeichen"

#~ msgid "field width"
#~ msgstr "Feldbreite"

#~ msgid "field width in printf format"
#~ msgstr "Feldbreite im printf-Format"

#~ msgid "precision"
#~ msgstr "Genauigkeit"

#~ msgid "precision in printf format"
#~ msgstr "Genauigkeit im printf-Format"

#~ msgid "length modifier"
#~ msgstr "Längenmodifizierer"

#~ msgid "length modifier in printf format"
#~ msgstr "Längenmodifizierer im printf-Format"

#~ msgid "assignment suppression"
#~ msgstr "Zuweisungsunterdrückung"

#~ msgid "the assignment suppression scanf feature"
#~ msgstr "das scanf-Merkmal der Zuweisungsunterdrückung"

#~ msgid "`a' flag"
#~ msgstr "»a«-Kennzeichen"

#~ msgid "the `a' scanf flag"
#~ msgstr "das »a«-scanf-Kennzeichen"

#~ msgid "field width in scanf format"
#~ msgstr "Feldbreite im scanf-Format"

#~ msgid "length modifier in scanf format"
#~ msgstr "Längenmodifizierer im scanf-Format"

#~ msgid "the `'' scanf flag"
#~ msgstr "das »'«-scanf-Kennzeichen"

#~ msgid "the `I' scanf flag"
#~ msgstr "das »I«-scanf-Kennzeichen"

#~ msgid "`_' flag"
#~ msgstr "»_«-Kennzeichen"

#~ msgid "the `_' strftime flag"
#~ msgstr "das »_«-strftime-Kennzeichen"

#~ msgid "the `-' strftime flag"
#~ msgstr "das »-«-strftime-Kennzeichen"

#~ msgid "the `0' strftime flag"
#~ msgstr "das »0«-strftime-Kennzeichen"

#~ msgid "`^' flag"
#~ msgstr "»^«-Kennzeichen"

#~ msgid "the `^' strftime flag"
#~ msgstr "das »^«-strftime-Kennzeichen"

#~ msgid "the `#' strftime flag"
#~ msgstr "das »#«-strftime-Kennzeichen"

#~ msgid "field width in strftime format"
#~ msgstr "Feldbreite im strftime-Format"

#~ msgid "`E' modifier"
#~ msgstr "»E«-Modifizierer"

#~ msgid "the `E' strftime modifier"
#~ msgstr "der »E«-strftime-Modifizierer"

#~ msgid "`O' modifier"
#~ msgstr "»O«-Modifizierer"

#~ msgid "the `O' strftime modifier"
#~ msgstr "der »O«-strftime-Modifizierer"

#~ msgid "the `O' modifier"
#~ msgstr "der »O«-Modifizierer"

#~ msgid "fill character"
#~ msgstr "Füllzeichen"

#~ msgid "fill character in strfmon format"
#~ msgstr "Füllzeichen im strfmon-Format"

#~ msgid "the `^' strfmon flag"
#~ msgstr "das »^«-strfmon-Kennzeichen"

#~ msgid "the `+' strfmon flag"
#~ msgstr "das »+«-strfmon-Kennzeichen"

#~ msgid "`(' flag"
#~ msgstr "»(«-Kennzeichen"

#~ msgid "the `(' strfmon flag"
#~ msgstr "das »(«-strfmon-Kennzeichen"

#~ msgid "`!' flag"
#~ msgstr "»!«-Kennzeichen"

#~ msgid "the `!' strfmon flag"
#~ msgstr "das »!«-strfmon-Kennzeichen"

#~ msgid "the `-' strfmon flag"
#~ msgstr "das »-«-strfmon-Kennzeichen"

#~ msgid "field width in strfmon format"
#~ msgstr "Feldbreite im strfmon-Format"

#~ msgid "left precision"
#~ msgstr "linke Präzision"

#~ msgid "left precision in strfmon format"
#~ msgstr "linke Präzision im strfmon-Format"

#~ msgid "right precision"
#~ msgstr "rechte Präzision"

#~ msgid "right precision in strfmon format"
#~ msgstr "rechte Präzision im strfmon-Format"

#~ msgid "length modifier in strfmon format"
#~ msgstr "Längenmodifizierer im strfmon-Format"

#~ msgid "function might be possible candidate for `%s' format attribute"
#~ msgstr "Funktion könnte möglicher Kandidat für Formatattribut »%s« sein"

#~ msgid "missing $ operand number in format"
#~ msgstr "fehlende $-Operandennummer im Format"

#~ msgid "%s does not support %%n$ operand number formats"
#~ msgstr "%s unterstützt nicht %%n$-Operandennummerformate"

#~ msgid "operand number out of range in format"
#~ msgstr "Operandennummer außerhalb des Wertebereiches im Format"

#~ msgid "format argument %d used more than once in %s format"
#~ msgstr "Formatargument %d mehr als einmal im %s-Format verwendet"

#~ msgid "format argument %d unused before used argument %d in $-style format"
#~ msgstr "Formatargument %d nicht verwendet vor benutztem Argument %d im $-Stil-Format"

#~ msgid "format not a string literal, format string not checked"
#~ msgstr "Format ist kein Zeichenkettenliteral, Formatzeichenkette ungeprüft"

#~ msgid "format not a string literal and no format arguments"
#~ msgstr "Format ist kein Zeichenkettenliteral, und keine Formatargumente"

#~ msgid "format not a string literal, argument types not checked"
#~ msgstr "Format ist kein Zeichenkettenliteral, Argumenttypen ungeprüft"

#~ msgid "too many arguments for format"
#~ msgstr "zu viele Argumente für Format"

#~ msgid "unused arguments in $-style format"
#~ msgstr "unbenutzte Argumente in $-Stil-Format"

#~ msgid "zero-length %s format string"
#~ msgstr "Format-Zeichenkette %s der Länge null"

#~ msgid "format is a wide character string"
#~ msgstr "Format ist »wide character«-Zeichenkette"

#~ msgid "unterminated format string"
#~ msgstr "unbeendete Formatzeichenkette"

#~ msgid "embedded `\\0' in format"
#~ msgstr "eingebettetes »\\0« im Format"

#~ msgid "spurious trailing `%%' in format"
#~ msgstr "störendes letztes »%%« im Format"

#~ msgid "repeated %s in format"
#~ msgstr "wiederholtes %s im Format"

#~ msgid "missing fill character at end of strfmon format"
#~ msgstr "fehlendes Füllzeichen am Ende des strfmon-Formates"

#~ msgid "too few arguments for format"
#~ msgstr "zu wenig Argumente für Format"

#~ msgid "zero width in %s format"
#~ msgstr "Breite null im Format %s"

#~ msgid "empty left precision in %s format"
#~ msgstr "leere linke Präzision im Format %s"

#~ msgid "field precision"
#~ msgstr "Feldpräzision"

#~ msgid "empty precision in %s format"
#~ msgstr "fehlende Präzision im Format %s"

#~ msgid "%s does not support the `%s' %s length modifier"
#~ msgstr "%s unterstützt nicht den Längenmodifizierer »%s« %s"

#~ msgid "conversion lacks type at end of format"
#~ msgstr "Konvertierung fehlt der Typ am Ende des Formates"

#~ msgid "unknown conversion type character `%c' in format"
#~ msgstr "unbekanntes Konvertierungstyp-Zeichen »%c« im Format"

#~ msgid "unknown conversion type character 0x%x in format"
#~ msgstr "unbekanntes Konvertierungstyp-Zeichen 0x%x im Format"

#~ msgid "%s does not support the `%%%c' %s format"
#~ msgstr "%s unterstützt nicht das Format »%%%c« %s"

#~ msgid "%s used with `%%%c' %s format"
#~ msgstr "%s verwendet mit Format »%%%c« %s"

#~ msgid "%s does not support %s"
#~ msgstr "%s unterstützt nicht %s"

#~ msgid "%s does not support %s with the `%%%c' %s format"
#~ msgstr "%s unterstützt nicht %s mit dem Format »%%%c« %s"

#~ msgid "%s ignored with %s and `%%%c' %s format"
#~ msgstr "%s ignoriert mit %s und Format »%%%c« %s"

#~ msgid "%s ignored with %s in %s format"
#~ msgstr "%s ignoriert mit %s im Format %s"

#~ msgid "use of %s and %s together with `%%%c' %s format"
#~ msgstr "Verwendung von %s und %s zusammen mit Format »%%%c« %s"

#~ msgid "use of %s and %s together in %s format"
#~ msgstr "Verwendung von %s und %s zusammen im Format %s"

#~ msgid "`%%%c' yields only last 2 digits of year in some locales"
#~ msgstr "»%%%c« liefert in manchen Locales nur die letzten 2 Ziffern des Jahres"

#~ msgid "`%%%c' yields only last 2 digits of year"
#~ msgstr "»%%%c« liefert nur die letzten 2 Ziffern des Jahres"

#~ msgid "no closing `]' for `%%[' format"
#~ msgstr "kein schließendes »]« für »%%[«-Format"

#~ msgid "use of `%s' length modifier with `%c' type character"
#~ msgstr "Verwendung des »%s«-Längenmodifizierers mit »%c«-Typ-Zeichen"

#~ msgid "%s does not support the `%%%s%c' %s format"
#~ msgstr "%s unterstützt nicht das Format »%%%s%c« %s"

#~ msgid "operand number specified with suppressed assignment"
#~ msgstr "Operandennummer mit unterdrückter Zuweisung angegeben"

#~ msgid "operand number specified for format taking no argument"
#~ msgstr "Operandennummer für Format ohne Argumente angegeben"

#~ msgid "writing through null pointer (arg %d)"
#~ msgstr "Schreiben mit Null-Zeiger (Argument %d)"

#~ msgid "reading through null pointer (arg %d)"
#~ msgstr "Lesen mit Null-Zeiger (Argument %d)"

#~ msgid "writing into constant object (arg %d)"
#~ msgstr "Schreiben in konstantes Objekt (Argument %d)"

#~ msgid "extra type qualifiers in format argument (arg %d)"
#~ msgstr "zusätzliche Typqualifizierer in Format-Argument (Argument %d)"

#~ msgid "format argument is not a pointer (arg %d)"
#~ msgstr "Format-Argument ist kein Zeiger (Argument %d)"

#~ msgid "format argument is not a pointer to a pointer (arg %d)"
#~ msgstr "Format-Argument ist kein Zeiger auf einen Zeiger (Argument %d)"

#~ msgid "pointer"
#~ msgstr "Zeiger"

#~ msgid "different type"
#~ msgstr "anderer Typ"

#~ msgid "%s is not type %s (arg %d)"
#~ msgstr "%s ist nicht vom Typ %s (Argument %d)"

#~ msgid "%s format, %s arg (arg %d)"
#~ msgstr "%s Format, %s Argument (Argument %d)"

#~ msgid "args to be formatted is not '...'"
#~ msgstr "zu formatierendes Argument ist nicht »...«"

#~ msgid "strftime formats cannot format arguments"
#~ msgstr "strftime-Formate können keine Argumente formatieren"

#~ msgid "ignoring duplicate directory \"%s\"\n"
#~ msgstr "doppeltes Verzeichnis »%s« wird ignoriert\n"

#~ msgid "  as it is a non-system directory that duplicates a system directory\n"
#~ msgstr "  da es ein Nicht-Systemverzeichnis ist, das ein Systemverzeichnis dupliziert\n"

#~ msgid "ignoring nonexistent directory \"%s\"\n"
#~ msgstr "nicht vorhandenes Verzeichnis »%s« wird ignoriert\n"

#~ msgid "#include \"...\" search starts here:\n"
#~ msgstr "#include \"...\" - Suche beginnt hier:\n"

#~ msgid "#include <...> search starts here:\n"
#~ msgstr "#include <...> - Suche beginnt hier:\n"

#~ msgid "End of search list.\n"
#~ msgstr "Ende der Suchliste.\n"

#~ msgid "badly nested C headers from preprocessor"
#~ msgstr "schlecht geschachtelte C-Header vom Präprozessor"

#~ msgid "ignoring #pragma %s %s"
#~ msgstr "ignoriere #pragma %s %s"

#~ msgid "%Hstray '@' in program"
#~ msgstr "%Hverirrtes »@« im Programm"

#~ msgid "missing terminating %c character"
#~ msgstr "fehlendes abschließendes Zeichen %c"

#~ msgid "stray '%c' in program"
#~ msgstr "verirrtes »%c« im Programm"

#~ msgid "stray '\\%o' in program"
#~ msgstr "verirrtes »\\%o« im Programm"

#~ msgid "this decimal constant is unsigned only in ISO C90"
#~ msgstr "diese Dezimalkonstante ist nur in ISO-C90 vorzeichenlos"

#~ msgid "this decimal constant would be unsigned in ISO C90"
#~ msgstr "diese Dezimalkonstante wäre in ISO-C90 vorzeichenlos"

#~ msgid "integer constant is too large for \"%s\" type"
#~ msgstr "Ganzzahlkonstante ist zu groß für »%s«-Typ"

#~ msgid "floating constant exceeds range of \"%s\""
#~ msgstr "Gleitkommakonstante überschreitet Wertebereich von »%s«"

#~ msgid "traditional C rejects string constant concatenation"
#~ msgstr "traditionelles C weist Stringkonstantenverkettung zurück"

#~ msgid "%Jfunction '%F' can never be inlined because it is supressed using -fno-inline"
#~ msgstr "%JFunktion »%F« kann nie inline sein, da dies mit -fno-inline unterdrückt wird"

#~ msgid "%Jfunction '%F' can never be inlined because it might not be bound within this unit of translation"
#~ msgstr "%JFunktion »%F« kann nie inline sein, da sie nicht in diese Übersetzungseinheit gebunden wird"

#~ msgid "%Jfunction '%F' can never be inlined because it uses attributes conflicting with inlining"
#~ msgstr "%JFunktion »%F« kann nie inline sein, da sie mit inline in Konflikt stehende Attribute hat"

#~ msgid "%Jfunction '%F' can never be inlined because it has pending sizes"
#~ msgstr "%JFunktion »%F« kann nie inline sein, da sie noch offene Größen hat"

#~ msgid "%Jnested function '%F' can never be inlined because it has possibly saved pending sizes"
#~ msgstr "%Jdie geschachtelte Funktion »%F« kann nie inline sein, da sie möglicherweise gespeicherte, noch offene Größen hat"

#~ msgid "no class name specified with \"%s\""
#~ msgstr "kein Klassenname mit \"%s\" angegeben"

#~ msgid "assertion missing after \"%s\""
#~ msgstr "Behauptung fehlt hinter \"%s\""

#~ msgid "macro name missing after \"%s\""
#~ msgstr "Makroname fehlt hinter \"%s\""

#~ msgid "missing path after \"%s\""
#~ msgstr "fehlender Pfad hinter \"%s\""

#~ msgid "missing filename after \"%s\""
#~ msgstr "fehlender Dateiname hinter \"%s\""

#~ msgid "missing makefile target after \"%s\""
#~ msgstr "fehlendes Makefile-Ziel hinter \"%s\""

#~ msgid "-I- specified twice"
#~ msgstr "-I- doppelt angegeben"

#~ msgid "switch \"%s\" is no longer supported"
#~ msgstr "Option »%s« wird nicht mehr unterstützt"

#~ msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)"
#~ msgstr "-fhandle-exceptions wurde in -fexceptions umbenannt (und ist nun voreingestellt)"

#~ msgid "output filename specified twice"
#~ msgstr "Ausgabedatei doppelt angegeben"

#~ msgid "-Wformat-y2k ignored without -Wformat"
#~ msgstr "-Wformat-y2k wird ohne -Wformat ignoriert"

#~ msgid "-Wformat-extra-args ignored without -Wformat"
#~ msgstr "-Wformat-extra-args wird ohne -Wformat ignoriert"

#~ msgid "-Wformat-zero-length ignored without -Wformat"
#~ msgstr "-Wformat-zero-length wird ohne -Wformat ignoriert"

#~ msgid "-Wformat-nonliteral ignored without -Wformat"
#~ msgstr "-Wformat-nonliteral wird ohne -Wformat ignoriert"

#~ msgid "-Wformat-security ignored without -Wformat"
#~ msgstr "-Wformat-security wird ohne -Wformat ignoriert"

#~ msgid "-Wmissing-format-attribute ignored without -Wformat"
#~ msgstr "-Wmissing-format-attribute wird ohne -Wformat ignoriert"

#~ msgid "opening output file %s: %m"
#~ msgstr "Ausgabedatei »%s« wird geöffnet: %m"

#~ msgid "too many filenames given.  Type %s --help for usage"
#~ msgstr "zu viele Dateinamen angegeben. Geben sie »%s --help« für Hilfe ein"

#~ msgid "YYDEBUG not defined"
#~ msgstr "YYDEBUG ist nicht definiert"

#~ msgid "opening dependency file %s: %m"
#~ msgstr "Abhängigkeitsdatei »%s« wird geöffnet: %m"

#~ msgid "closing dependency file %s: %m"
#~ msgstr "Abhängigkeitsdatei »%s« wird geschlossen: %m"

#~ msgid "when writing output to %s: %m"
#~ msgstr "beim Schreiben der Ausgabe nach %s: %m"

#~ msgid "to generate dependencies you must specify either -M or -MM"
#~ msgstr "um Abhängigkeiten zu erzeugen, müssen Sie entweder -M oder -MM angeben"

#~ msgid "<built-in>"
#~ msgstr "<eingebaut>"

#~ msgid "<command line>"
#~ msgstr "<Kommandozeile>"

#~ msgid "too late for # directive to set debug directory"
#~ msgstr "zu spät für »#«-Direktive, um Debug-Verzeichnis festzulegen"

#~ msgid "syntax error"
#~ msgstr "Syntaxfehler"

#~ msgid "syntax error: cannot back up"
#~ msgstr "Syntaxfehler: es kann nicht zurückgesetzt werden"

#~ msgid "ISO C forbids an empty source file"
#~ msgstr "ISO-C erlaubt keine leeren Quelldateien"

#~ msgid "argument of `asm' is not a constant string"
#~ msgstr "Argument von »asm« ist keine konstante Zeichenkette"

#~ msgid "ISO C forbids data definition with no type or storage class"
#~ msgstr "ISO-C verbietet Datendefinition ohne Typ und Speicherklasse"

#~ msgid "data definition has no type or storage class"
#~ msgstr "Datendefinition hat keinen Typ oder Speicherklasse"

#~ msgid "ISO C does not allow extra `;' outside of a function"
#~ msgstr "ISO-C erlaubt kein extra »;« außerhalb einer Funktion"

#~ msgid "`sizeof' applied to a bit-field"
#~ msgstr "»sizeof«-Operator auf ein Bitfeld angewandt"

#~ msgid "ISO C forbids omitting the middle term of a ?: expression"
#~ msgstr "ISO-C verbietet das Weglassen des mittleren Terms eines ?:-Ausdruckes"

#~ msgid "ISO C89 forbids compound literals"
#~ msgstr "ISO-C89 verbietet zusammengesetzte Literale"

#~ msgid "ISO C forbids braced-groups within expressions"
#~ msgstr "ISO-C verbietet geklammerte Gruppen innerhalb von Ausdrücken"

#~ msgid "first argument to __builtin_choose_expr not a constant"
#~ msgstr "das erste Argument für __builtin_choose_expr ist keine Konstante"

#~ msgid "traditional C rejects ISO C style function definitions"
#~ msgstr "traditionelles C weist Funktionsdefinitionen im ISO-C-Stil zurück"

#~ msgid "old-style parameter declaration"
#~ msgstr "Parameterdeklaration alten Stils"

#~ msgid "`%s' is not at beginning of declaration"
#~ msgstr "»%s« ist nicht am Beginn einer Deklaration"

#~ msgid "`typeof' applied to a bit-field"
#~ msgstr "»typeof« auf ein Bitfeld angewandt"

#~ msgid "ISO C forbids empty initializer braces"
#~ msgstr "ISO-C verbietet leere Initialisierungsklammern"

#~ msgid "ISO C89 forbids specifying subobject to initialize"
#~ msgstr "ISO-C89 verbietet die Angabe von zu initialisierenden Unterobjekten"

#~ msgid "obsolete use of designated initializer without `='"
#~ msgstr "veraltete Verwendung einer bestimmten Initialisierung ohne »=«"

#~ msgid "obsolete use of designated initializer with `:'"
#~ msgstr "veraltete Verwendung einer bestimmten Initialisierung mit »:«"

#~ msgid "ISO C forbids specifying range of elements to initialize"
#~ msgstr "ISO-C verbietet die Angabe eines zu initialisierenden Wertebereiches"

#~ msgid "ISO C forbids nested functions"
#~ msgstr "ISO-C verbietet verschachtelte Funktionen"

#~ msgid "ISO C forbids forward references to `enum' types"
#~ msgstr "ISO-C verbietet Vorwärts-Referenzen auf »enum«-Typen"

#~ msgid "comma at end of enumerator list"
#~ msgstr "Komma am Ende der Aufzählungsliste"

#~ msgid "no semicolon at end of struct or union"
#~ msgstr "kein Semikolon am Ende von »struct« oder »union«"

#~ msgid "extra semicolon in struct or union specified"
#~ msgstr "zusätzliches Semikolon in »struct« oder »union« angegeben"

#~ msgid "ISO C doesn't support unnamed structs/unions"
#~ msgstr "ISO-C unterstützt keine namenlosen structs/unions"

#~ msgid "ISO C forbids member declarations with no members"
#~ msgstr "ISO-C verbietet Elementdeklarationen ohne Elemente"

#~ msgid "label at end of compound statement"
#~ msgstr "Marke am Ende einer Verbundanweisung"

#~ msgid "ISO C90 forbids mixed declarations and code"
#~ msgstr "ISO-C90 verbietet gemischte Deklarationen und Code"

#~ msgid "ISO C forbids label declarations"
#~ msgstr "ISO-C verbietet Markendeklarationen"

#~ msgid "braced-group within expression allowed only inside a function"
#~ msgstr "geklammerte Gruppe innerhalb eines Ausdrucks nur in Funktion erlaubt"

#~ msgid "empty body in an else-statement"
#~ msgstr "leerer Körper in einer else-Anweisung"

#~ msgid "%Hempty body in an if-statement"
#~ msgstr "%Hleerer Körper in einer if-Anweisung"

#~ msgid "break statement not within loop or switch"
#~ msgstr "break-Anweisung nicht innerhalb einer Schleife oder »switch«"

#~ msgid "continue statement not within a loop"
#~ msgstr "continue-Anweisung nicht innerhalb einer Schleife"

#~ msgid "ISO C forbids `goto *expr;'"
#~ msgstr "ISO-C verbietet »goto *expr;«"

#~ msgid "ISO C requires a named argument before `...'"
#~ msgstr "ISO-C erfordert ein benanntes Argument vor »...«"

#~ msgid "`...' in old-style identifier list"
#~ msgstr "»...« in einer Bezeichnerliste alten Stils"

#~ msgid "syntax error; also virtual memory exhausted"
#~ msgstr "Syntaxfehler; auch virtueller Speicher verbraucht"

#~ msgid "parser stack overflow"
#~ msgstr "Parser-Keller-Überlauf"

#~ msgid "syntax error at '%s' token"
#~ msgstr "Syntaxfehler beim Token »%s«"

#~ msgid "can't create precompiled header %s: %m"
#~ msgstr "der vorkompilierte Header »%s« kann nicht erzeugt werden: %m"

#~ msgid "can't write to %s: %m"
#~ msgstr "in %s kann nicht geschrieben werden: %m"

#~ msgid "`%s' is not a valid output file"
#~ msgstr "»%s« ist keine gültige Ausgabedatei"

#~ msgid "can't write %s: %m"
#~ msgstr "%s kann nicht geschrieben werden: %m"

#~ msgid "can't seek in %s: %m"
#~ msgstr "in %s kann nicht positioniert werden: %m"

#~ msgid "can't read %s: %m"
#~ msgstr "%s kann nicht gelesen werden: %m"

#~ msgid "%s: not compatible with this GCC version"
#~ msgstr "%s: nicht kompatibel mit dieser Version des GCC"

#~ msgid "%s: not for %s"
#~ msgstr "%s: nicht für %s"

#~ msgid "%s: not a PCH file"
#~ msgstr "%s: keine PCH-Datei"

#~ msgid "%s: created on host `%.*s', but used on host `%s'"
#~ msgstr "%s: auf Rechner »%.*s« erzeugt, aber auf Rechner »%s« verwendet"

#~ msgid "%s: created for target `%.*s', but used for target `%s'"
#~ msgstr "%s: für das Ziel »%.*s« erzeugt, aber für das Ziel »%s« verwendet"

#~ msgid "%s: created by version `%.*s', but this is version `%s'"
#~ msgstr "%s: durch Version »%.*s« erzeugt, aber dies ist Version »%s«"

#~ msgid "%s: created with -g%s, but used with -g%s"
#~ msgstr "%s: mit -g%s erzeugt, aber mit -g%s verwendet"

#~ msgid "%s: had text segment at different address"
#~ msgstr "%s: Textsegment trat an anderer Adresse auf"

#~ msgid "calling fdopen"
#~ msgstr "fdopen wird aufgerufen"

#~ msgid "reading"
#~ msgstr "Lesen"

#~ msgid "#pragma pack (pop) encountered without matching #pragma pack (push, <n>)"
#~ msgstr "#pragma pack (pop) gefunden ohne passendes #pragma pack (push, <n>)"

#~ msgid "#pragma pack(pop, %s) encountered without matching #pragma pack(push, %s, <n>)"
#~ msgstr "#pragma pack(pop, %s) gefunden ohne passendes #pragma pack(push, %s, <n>)"

#~ msgid "#pragma pack(push[, id], <n>) is not supported on this target"
#~ msgstr "#pragma pack(push[, id], <n>) wird von diesem Ziel nicht unterstützt"

#~ msgid "#pragma pack(pop[, id], <n>) is not supported on this target"
#~ msgstr "#pragma pack(pop[, id], <n>) wird von diesem Ziel nicht unterstützt"

#~ msgid "missing '(' after '#pragma pack' - ignored"
#~ msgstr "fehlendes »(« hinter »#pragma pack« - ignoriert"

#~ msgid "malformed '#pragma pack' - ignored"
#~ msgstr "falsch geformtes »#pragma pack« - ignoriert"

#~ msgid "malformed '#pragma pack(push[, id], <n>)' - ignored"
#~ msgstr "falsch geformtes »#pragma pack(push[, id], <n>)« - ignoriert"

#~ msgid "malformed '#pragma pack(pop[, id])' - ignored"
#~ msgstr "falsch geformtes »#pragma pack(pop[, id])« - ignoriert"

#~ msgid "unknown action '%s' for '#pragma pack' - ignored"
#~ msgstr "unbekannte Aktion »%s« für »#pragma pack« - ignoriert"

#~ msgid "junk at end of '#pragma pack'"
#~ msgstr "Ausschuss am Ende von »#pragma pack«"

#~ msgid "alignment must be a small power of two, not %d"
#~ msgstr "Ausrichtung muss eine kleine Zweierpotenz sein, nicht %d"

#~ msgid "%Japplying #pragma weak '%D' after first use results in unspecified behavior"
#~ msgstr "%JAnwendung von #pragma weak »%D« nach erster Benutzung führt zu nicht spezifiziertem Verhalten"

#~ msgid "malformed #pragma weak, ignored"
#~ msgstr "falsch geformtes #pragma weak, ignoriert"

#~ msgid "junk at end of #pragma weak"
#~ msgstr "Ausschuss am Ende von #pragma weak"

#~ msgid "malformed #pragma redefine_extname, ignored"
#~ msgstr "falsch geformtes #pragma redefine_extname, ignoriert"

#~ msgid "junk at end of #pragma redefine_extname"
#~ msgstr "Ausschuss am Ende von #pragma redefine_extname"

#~ msgid "#pragma redefine_extname conflicts with declaration"
#~ msgstr "#pragma redefine_extname steht in Konflikt mit Deklaration"

#~ msgid "malformed #pragma extern_prefix, ignored"
#~ msgstr "falsch geformtes #pragma extern_prefix, ignoriert"

#~ msgid "junk at end of #pragma extern_prefix"
#~ msgstr "Ausschuss am Ende von #pragma extern_prefix"

#~ msgid "asm declaration conflicts with previous rename"
#~ msgstr "asm-Deklaration steht in Konflikt mit vorheriger Umbenennung"

#~ msgid "destructor needed for `%D'"
#~ msgstr "Destruktor für »%D« benötigt"

#~ msgid "where case label appears here"
#~ msgstr "wobei die case-Marke hier auftritt"

#~ msgid "(enclose actions of previous case statements requiring destructors in their own scope.)"
#~ msgstr "(schließen Sie Aktionen vorheriger case-Anweisungen, die Destruktoren benötigen, in ihrem eigenen Gültigkeitsbereich ein)"

#~ msgid "%s qualifier ignored on asm"
#~ msgstr "%s-Qualifizierer für asm ignoriert"

#~ msgid "will never be executed"
#~ msgstr "wird niemals ausgeführt"

#~ msgid "`%s' has an incomplete type"
#~ msgstr "»%s« hat unvollständigen Typ"

#~ msgid "invalid use of void expression"
#~ msgstr "falsche Benutzung eines void-Ausdruckes"

#~ msgid "invalid use of flexible array member"
#~ msgstr "falsche Benutzung eines flexiblen Feldelements"

#~ msgid "invalid use of array with unspecified bounds"
#~ msgstr "falsche Benutzung eines Feldes mit unbekannten Grenzen"

#~ msgid "invalid use of undefined type `%s %s'"
#~ msgstr "falsche Benutzung des undefinierten Typs »%s %s«"

#~ msgid "invalid use of incomplete typedef `%s'"
#~ msgstr "falsche Benutzung des unvollständigen typedef »%s«"

#~ msgid "function types not truly compatible in ISO C"
#~ msgstr "Funktionstypen nicht wirklich kompatibel in ISO-C"

#~ msgid "types are not quite compatible"
#~ msgstr "Typen nicht sehr kompatibel"

#~ msgid "function return types not compatible due to `volatile'"
#~ msgstr "Funktionsrückgabetypen nicht kompatibel wegen »volatile«"

#~ msgid "arithmetic on pointer to an incomplete type"
#~ msgstr "Arithmetik mit Zeiger auf unvollständigen Typen"

#~ msgid "%s has no member named `%s'"
#~ msgstr "%s hat kein Element namens »%s«"

#~ msgid "request for member `%s' in something not a structure or union"
#~ msgstr "Anfrage nach Element »%s« in etwas, was keine Struktur oder Variante ist"

#~ msgid "dereferencing pointer to incomplete type"
#~ msgstr "Dereferenzierung eines Zeigers auf unvollständigen Typen"

#~ msgid "dereferencing `void *' pointer"
#~ msgstr "Dereferenzierung eines »void *«-Zeigers"

#~ msgid "invalid type argument of `%s'"
#~ msgstr "falsches Typ-Argument von »%s«"

#~ msgid "subscript missing in array reference"
#~ msgstr "Index fehlt in Feldreferenz"

#~ msgid "array subscript has type `char'"
#~ msgstr "Feldindex hat Typ »char«"

#~ msgid "array subscript is not an integer"
#~ msgstr "Feldindex ist keine Ganzzahl"

#~ msgid "ISO C forbids subscripting `register' array"
#~ msgstr "ISO-C verbietet, ein »register«-Array zu indizieren"

#~ msgid "ISO C90 forbids subscripting non-lvalue array"
#~ msgstr "ISO-C90 verbietet, ein Nicht-L-Wert-Feld zu indizieren"

#~ msgid "subscript has type `char'"
#~ msgstr "Index hat Typ »char«"

#~ msgid "subscripted value is neither array nor pointer"
#~ msgstr "indizierter Wert ist weder ein Feld noch ein Zeiger"

#~ msgid "local declaration of `%s' hides instance variable"
#~ msgstr "lokale Deklaration von »%s« verdeckt Instanzvariable"

#~ msgid "called object is not a function"
#~ msgstr "gerufenes Objekt ist keine Funktion"

#~ msgid "function called through a non-compatible type"
#~ msgstr "Funktion über nicht kompatiblen Typen aufgerufen"

#~ msgid "too many arguments to function"
#~ msgstr "zu viele Argumente für Funktion"

#~ msgid "type of formal parameter %d is incomplete"
#~ msgstr "Typ des formalen Parameters %d ist unvollständig"

#~ msgid "%s as integer rather than floating due to prototype"
#~ msgstr "%s als Ganzzahl statt Gleitkomma aufgrund des Prototyps"

#~ msgid "%s as integer rather than complex due to prototype"
#~ msgstr "%s als Ganzzahl statt komplex aufgrund des Prototyps"

#~ msgid "%s as complex rather than floating due to prototype"
#~ msgstr "%s als komplex statt Gleitkomma aufgrund des Prototyps"

#~ msgid "%s as floating rather than integer due to prototype"
#~ msgstr "%s als Gleitkomma statt Ganzzahl aufgrund des Prototyps"

#~ msgid "%s as complex rather than integer due to prototype"
#~ msgstr "%s als komplex statt Ganzzahl aufgrund des Prototyps"

#~ msgid "%s as floating rather than complex due to prototype"
#~ msgstr "%s als Gleitkomma statt komplex aufgrund des Prototyps"

#~ msgid "%s as `float' rather than `double' due to prototype"
#~ msgstr "%s als »float« statt »double« aufgrund des Prototyps"

#~ msgid "%s with different width due to prototype"
#~ msgstr "%s mit anderer Breite aufgrund des Prototyps"

#~ msgid "%s as unsigned due to prototype"
#~ msgstr "%s als vorzeichenlos aufgrund des Prototyps"

#~ msgid "%s as signed due to prototype"
#~ msgstr "%s als vorzeichenbehaftet aufgrund des Prototyps"

#~ msgid "too few arguments to function"
#~ msgstr "zu wenige Argumente für Funktion"

#~ msgid "suggest parentheses around + or - inside shift"
#~ msgstr "Klammern um + oder - innerhalb von Schiebeoperation empfohlen"

#~ msgid "suggest parentheses around && within ||"
#~ msgstr "Klammern um && innerhalb von || empfohlen"

#~ msgid "suggest parentheses around arithmetic in operand of |"
#~ msgstr "Klammern um Arithmetik in Operand von | empfohlen"

#~ msgid "suggest parentheses around comparison in operand of |"
#~ msgstr "Klammern um Vergleich in Operand von | empfohlen"

#~ msgid "suggest parentheses around arithmetic in operand of ^"
#~ msgstr "Klammern um Arithmetik in Operand von ^ empfohlen"

#~ msgid "suggest parentheses around comparison in operand of ^"
#~ msgstr "Klammern um Vergleich in Operand von ^ empfohlen"

#~ msgid "suggest parentheses around + or - in operand of &"
#~ msgstr "Klammern um + oder - in Operand von & empfohlen"

#~ msgid "suggest parentheses around comparison in operand of &"
#~ msgstr "Klammern um Vergleich in Operand von & empfohlen"

#~ msgid "comparisons like X<=Y<=Z do not have their mathematical meaning"
#~ msgstr "Vergleiche wie X<=Y<=Z haben nicht ihre mathematische Bedeutung"

#~ msgid "pointer of type `void *' used in subtraction"
#~ msgstr "Zeiger des Typs »void *« in Subtraktion verwendet"

#~ msgid "pointer to a function used in subtraction"
#~ msgstr "Zeiger auf eine Funktion in Subtraktion verwendet"

#~ msgid "wrong type argument to unary plus"
#~ msgstr "Argument falschen Typs für unäres Plus"

#~ msgid "wrong type argument to unary minus"
#~ msgstr "Argument falschen Typs für unäres Minus"

#~ msgid "ISO C does not support `~' for complex conjugation"
#~ msgstr "ISO-C unterstützt nicht »~« für komplexe Konjugation"

#~ msgid "wrong type argument to bit-complement"
#~ msgstr "Argument falschen Typs für Bit-Komplement"

#~ msgid "wrong type argument to abs"
#~ msgstr "Argument falschen Typs für abs"

#~ msgid "wrong type argument to conjugation"
#~ msgstr "Argument falschen Typs für Konjugation"

#~ msgid "wrong type argument to unary exclamation mark"
#~ msgstr "Argument falschen Typs für unäres Ausrufungszeichen"

#~ msgid "ISO C does not support `++' and `--' on complex types"
#~ msgstr "ISO-C unterstützt kein »++« und »--« für komplexe Typen"

#~ msgid "wrong type argument to increment"
#~ msgstr "Argument falschen Typs für Inkrementierung"

#~ msgid "wrong type argument to decrement"
#~ msgstr "Argument falschen Typs für Dekrementierung"

#~ msgid "increment of pointer to unknown structure"
#~ msgstr "Erhöhung eines Zeigers auf unbekannte Struktur"

#~ msgid "decrement of pointer to unknown structure"
#~ msgstr "Verminderung eines Zeigers auf unbekannte Struktur"

#~ msgid "invalid lvalue in unary `&'"
#~ msgstr "ungültiger L-Wert in unärem »&«"

#~ msgid "attempt to take address of bit-field structure member `%s'"
#~ msgstr "Versuch, die Adresse des Bitfeld-Element »%s« einer Struktur zu verwenden"

#~ msgid "use of conditional expressions as lvalues is deprecated"
#~ msgstr "die Verwendung bedingter Ausdrücke als L-Werte ist veraltet"

#~ msgid "use of compound expressions as lvalues is deprecated"
#~ msgstr "Verwendung zusammengesetzter Ausdrücke als L-Werte ist veraltet"

#~ msgid "use of cast expressions as lvalues is deprecated"
#~ msgstr "die Verwendung von cast-Ausdrücken als L-Werte ist veraltet"

#~ msgid "%s of read-only member `%s'"
#~ msgstr "%s des schreibgeschützten Elementes »%s«"

#~ msgid "%s of read-only variable `%s'"
#~ msgstr "%s der schreibgeschützten Variable »%s«"

#~ msgid "%s of read-only location"
#~ msgstr "%s der schreibgeschützten Speicherstelle"

#~ msgid "cannot take address of bit-field `%s'"
#~ msgstr "die Adresse des Bit-Feldes »%s« kann nicht ermittelt werden"

#~ msgid "global register variable `%s' used in nested function"
#~ msgstr "globale Register-Variable »%s« in verschachtelter Funktion verwendet"

#~ msgid "register variable `%s' used in nested function"
#~ msgstr "Register-Variable »%s« in verschachtelter Funktion verwendet"

#~ msgid "address of global register variable `%s' requested"
#~ msgstr "Adresse der globalen Variable »%s« angefordert"

#~ msgid "cannot put object with volatile field into register"
#~ msgstr "kann kein Objekt mit volatile-Feld in Register laden"

#~ msgid "address of register variable `%s' requested"
#~ msgstr "Adresse der Register-Variablen »%s« angefordert"

#~ msgid "signed and unsigned type in conditional expression"
#~ msgstr "Vorzeichenloser und -behafteter Typ in bedingtem Ausdruck"

#~ msgid "ISO C forbids conditional expr with only one void side"
#~ msgstr "ISO-C verbietet bedingten Ausdruck mit nur einer void-Seite"

#~ msgid "ISO C forbids conditional expr between `void *' and function pointer"
#~ msgstr "ISO-C verbietet bedingten Ausdruck zwischen »void *« und Funktionszeiger"

#~ msgid "pointer type mismatch in conditional expression"
#~ msgstr "Zeigertyp passt nicht in bedingtem Ausdruck"

#~ msgid "pointer/integer type mismatch in conditional expression"
#~ msgstr "Zeiger-/Ganzzahltyp passt nicht in bedingtem Ausdruck"

#~ msgid "type mismatch in conditional expression"
#~ msgstr "Typ passt nicht in bedingtem Ausdruck"

#~ msgid "left-hand operand of comma expression has no effect"
#~ msgstr "linker Operand des Komma-Ausdrucks hat keinen Effekt"

#~ msgid "cast specifies array type"
#~ msgstr "Typkonvertierung gibt Feldtyp an"

#~ msgid "cast specifies function type"
#~ msgstr "Typkonvertierung gibt Funktionstyp an"

#~ msgid "ISO C forbids casting nonscalar to the same type"
#~ msgstr "ISO-C verbietet Typkonvertierung von Nicht-Skalar auf selben Typen"

#~ msgid "ISO C forbids casts to union type"
#~ msgstr "ISO-C verbietet Typkonvertierung auf union-Typ"

#~ msgid "cast to union type from type not present in union"
#~ msgstr "Typkonvertierung in union-Typ von nicht in union vorhandenem Typen"

#~ msgid "cast adds new qualifiers to function type"
#~ msgstr "Typkonvertierung fügt neue Typqualifizierer zu Funktionstypen hinzu"

#~ msgid "cast discards qualifiers from pointer target type"
#~ msgstr "Typkonvertierung streicht Qualifizierer von Zeiger-Zieltyp"

#~ msgid "cast increases required alignment of target type"
#~ msgstr "Typkonvertierung erfordert Ausrichtung des Zieltyps"

#~ msgid "cast from pointer to integer of different size"
#~ msgstr "Typkonvertierung von Zeiger auf Ganzzahl anderer Breite"

#~ msgid "cast does not match function type"
#~ msgstr "Typkonvertierung passt nicht zum Funktionstypen"

#~ msgid "cast to pointer from integer of different size"
#~ msgstr "Typkonvertierung in Zeiger von Ganzzahl anderer Breite"

#~ msgid "type-punning to incomplete type might break strict-aliasing rules"
#~ msgstr "Type-Punning auf unvollständigen Typen kann strict-aliasing-Regeln verletzen"

#~ msgid "dereferencing type-punned pointer will break strict-aliasing rules"
#~ msgstr "Dereferenzierung eines Type-Pun-Zeigers verletzt strict-aliasing-Regeln"

#~ msgid "ISO C forbids conversion of function pointer to object pointer type"
#~ msgstr "ISO-C verbietet Konvertierung von Funktionszeigern in Objektzeigertyp"

#~ msgid "ISO C forbids conversion of object pointer to function pointer type"
#~ msgstr "ISO-C verbietet Konvertierung von Objektzeigertypen in Funktionszeigertyp"

#~ msgid "invalid lvalue in assignment"
#~ msgstr "ungültiger L-Wert in Zuweisung"

#~ msgid "assignment"
#~ msgstr "Zuweisung"

#~ msgid "cannot pass rvalue to reference parameter"
#~ msgstr "kann R-Wert nicht an Referenzparameter übergeben"

#~ msgid "%s makes qualified function pointer from unqualified"
#~ msgstr "%s erzeugt aus unqualifiziertem einen qualifizierten Funktionszeiger"

#~ msgid "%s discards qualifiers from pointer target type"
#~ msgstr "%s streicht Qualifizierer von Zeiger-Zieltypen"

#~ msgid "ISO C prohibits argument conversion to union type"
#~ msgstr "ISO-C verbietet Argumentkonvertierung in union-Typ"

#~ msgid "ISO C forbids %s between function pointer and `void *'"
#~ msgstr "ISO-C verbietet %s zwischen Funktionszeiger und »void *«"

#~ msgid "pointer targets in %s differ in signedness"
#~ msgstr "Zeigerziele in %s unterscheiden sich im Vorzeichenbesitz"

#~ msgid "%s from incompatible pointer type"
#~ msgstr "%s von inkompatiblem Zeigertyp"

#~ msgid "invalid use of non-lvalue array"
#~ msgstr "ungültige Verwendung eines Nicht-L-Wert-Feldes"

#~ msgid "%s makes pointer from integer without a cast"
#~ msgstr "%s erzeugt Zeiger von Ganzzahl ohne Typkonvertierung"

#~ msgid "%s makes integer from pointer without a cast"
#~ msgstr "%s erzeugt Ganzzahl von Zeiger ohne Typkonvertierung"

#~ msgid "incompatible type for argument %d of `%s'"
#~ msgstr "inkompatibler Typ für Argument %d von »%s«"

#~ msgid "incompatible type for argument %d of indirect function call"
#~ msgstr "inkompatibler Typ für Argument %d eines indirekten Funktionsaufrufes"

#~ msgid "incompatible types in %s"
#~ msgstr "inkompatible Typen in %s"

#~ msgid "passing arg of `%s'"
#~ msgstr "Verarbeiten des Argumentes von »%s«"

#~ msgid "passing arg of pointer to function"
#~ msgstr "Verarbeiten des Zeigerargumentes an Funktion"

#~ msgid "passing arg %d of `%s'"
#~ msgstr "Verarbeiten des Argumentes %d von »%s«"

#~ msgid "passing arg %d of pointer to function"
#~ msgstr "Verarbeiten des Argumentes %d von Zeiger auf Funktion"

#~ msgid "traditional C rejects automatic aggregate initialization"
#~ msgstr "traditionelles C lehnt automatische Gesamt-Initialisierung ab"

#~ msgid "(near initialization for `%s')"
#~ msgstr "(nahe der Initialisierung für »%s«)"

#~ msgid "char-array initialized from wide string"
#~ msgstr "char-Feld mit wide-Zeichenkette initialisiert"

#~ msgid "int-array initialized from non-wide string"
#~ msgstr "int-Feld mit Nicht-wide-Zeichenkette initialisiert"

#~ msgid "initializer-string for array of chars is too long"
#~ msgstr "Initialisierungs-Zeichenkette für char-Feld ist zu lang"

#~ msgid "array initialized from non-constant array expression"
#~ msgstr "Feld mit nicht konstantem Feldausdruck initialisiert"

#~ msgid "initializer element is not constant"
#~ msgstr "Initialisierungselement ist nicht konstant"

#~ msgid "initialization"
#~ msgstr "Initialisierung"

#~ msgid "initializer element is not computable at load time"
#~ msgstr "Initialisierungs-Element ist zur Lade-Zeit nicht berechenbar"

#~ msgid "invalid initializer"
#~ msgstr "ungültige Initialisierung"

#~ msgid "opaque vector types cannot be initialized"
#~ msgstr "opake Vektortypen können nicht initialisiert werden"

#~ msgid "extra brace group at end of initializer"
#~ msgstr "zusätzliche geschweifte Klammern am Ende der Initialisierung"

#~ msgid "missing braces around initializer"
#~ msgstr "geschweifte Klammern fehlen um Initialisierung"

#~ msgid "braces around scalar initializer"
#~ msgstr "geschweifte Klammern um Skalar-Initialisierung"

#~ msgid "initialization of flexible array member in a nested context"
#~ msgstr "Initialisierung eines flexiblen Feld-Elements in geschachteltem Kontext"

#~ msgid "initialization of a flexible array member"
#~ msgstr "Initialisierung eines flexiblen Feld-Elements"

#~ msgid "missing initializer"
#~ msgstr "fehlende Initialisierung"

#~ msgid "empty scalar initializer"
#~ msgstr "leere Skalar-Initialisierung"

#~ msgid "extra elements in scalar initializer"
#~ msgstr "zusätzliche Elemente in Skalar-Initialisierung"

#~ msgid "initialization designators may not nest"
#~ msgstr "Initialisierungs-Bezeichner dürfen nicht geschachtelt werden"

#~ msgid "array index in non-array initializer"
#~ msgstr "Feldindex in Nicht-Feld-Initialisierung"

#~ msgid "field name not in record or union initializer"
#~ msgstr "Feldname nicht in Datensatz- oder union-Initialisierung"

#~ msgid "nonconstant array index in initializer"
#~ msgstr "nichtkonstanter Feldindex in Initialisierung"

#~ msgid "array index in initializer exceeds array bounds"
#~ msgstr "Feldindex in Initialisierung überschreitet Feldgrenzen"

#~ msgid "empty index range in initializer"
#~ msgstr "leerer Indexbereich in Initialisierung"

#~ msgid "array index range in initializer exceeds array bounds"
#~ msgstr "Feldindexbereich in Initialisierung überschreitet Feldgrenzen"

#~ msgid "unknown field `%s' specified in initializer"
#~ msgstr "unbekanntes Feld »%s« in Initialisierung angegeben"

#~ msgid "initialized field with side-effects overwritten"
#~ msgstr "initialisiertes Feld mit Seiteneffekten überschrieben"

#~ msgid "excess elements in char array initializer"
#~ msgstr "Elementüberschreitung in char-Feld-Initialisierung"

#~ msgid "excess elements in struct initializer"
#~ msgstr "Elementüberschreitung in struct-Initialisierung"

#~ msgid "non-static initialization of a flexible array member"
#~ msgstr "nicht-statische Initialisierung eines flexiblen Feldelements"

#~ msgid "excess elements in union initializer"
#~ msgstr "Elementüberschreitung in union-Initialisierung"

#~ msgid "traditional C rejects initialization of unions"
#~ msgstr "traditionelles C lehnt Initialisierung von unions ab"

#~ msgid "excess elements in array initializer"
#~ msgstr "Elementüberschreitung in Feldinitialisierung"

#~ msgid "excess elements in vector initializer"
#~ msgstr "Elementüberschreitung in Vektorinitialisierung"

#~ msgid "excess elements in scalar initializer"
#~ msgstr "Elementüberschreitung in Skalar-Initialisierung"

#~ msgid "asm template is not a string constant"
#~ msgstr "asm-Template ist keine Zeichenkettenkonstante"

#~ msgid "invalid lvalue in asm statement"
#~ msgstr "ungültiger L-Wert in asm-Anweisung"

#~ msgid "modification by `asm'"
#~ msgstr "Modifizierung durch »asm«"

#~ msgid "function declared `noreturn' has a `return' statement"
#~ msgstr "als »noreturn« deklarierte Funktion hat »return«-Anweisung"

#~ msgid "`return' with no value, in function returning non-void"
#~ msgstr "»return« ohne Wert in nicht void zurückgebender Funktion"

#~ msgid "`return' with a value, in function returning void"
#~ msgstr "»return« mit Wert in void zurückgebender Funktion"

#~ msgid "return"
#~ msgstr "return"

#~ msgid "function returns address of local variable"
#~ msgstr "Funktion liefert Adresse einer lokalen Variablen zurück"

#~ msgid "switch quantity not an integer"
#~ msgstr "switch-Größe keine Ganzzahl"

#~ msgid "`long' switch expression not converted to `int' in ISO C"
#~ msgstr "»long« switch-Ausdruck nicht nach »int« konvertiert in ISO C"

#~ msgid "case label not within a switch statement"
#~ msgstr "case-Marke nicht innerhalb einer switch-Anweisung"

#~ msgid "`default' label not within a switch statement"
#~ msgstr "»default«-Marke nicht innerhalb einer switch-Anweisung"

#~ msgid "division by zero"
#~ msgstr "Teilung durch Null"

#~ msgid "right shift count is negative"
#~ msgstr "Rechts-Schiebe-Weite ist negativ"

#~ msgid "right shift count >= width of type"
#~ msgstr "Rechts-Schiebe-Weite >= Breite des Typs"

#~ msgid "left shift count is negative"
#~ msgstr "Links-Schiebe-Weite ist negativ"

#~ msgid "left shift count >= width of type"
#~ msgstr "Links-Schiebe-Weite >= Breite des Typs"

#~ msgid "shift count is negative"
#~ msgstr "Schiebeweite ist negativ"

#~ msgid "shift count >= width of type"
#~ msgstr "Schiebeweite >= Breite des Typs"

#~ msgid "comparing floating point with == or != is unsafe"
#~ msgstr "Vergleich von Gleitkomma mit == oder != ist unsicher"

#~ msgid "ISO C forbids comparison of `void *' with function pointer"
#~ msgstr "ISO-C verbietet Vergleich von »void *« mit Funktionszeiger"

#~ msgid "comparison of distinct pointer types lacks a cast"
#~ msgstr "in Vergleich verschiedener Zeigertypen fehlt Typkonvertierung"

#~ msgid "comparison between pointer and integer"
#~ msgstr "Vergleich zwischen Zeiger und Ganzzahl"

#~ msgid "ISO C forbids ordered comparisons of pointers to functions"
#~ msgstr "ISO-C verbietet geordnete Vergleiche zwischen Zeigern auf Funktionen"

#~ msgid "comparison of complete and incomplete pointers"
#~ msgstr "Vergleich von vollständigen und unvollständigen Zeigern"

#~ msgid "ordered comparison of pointer with integer zero"
#~ msgstr "geordneter Vergleich von Zeiger mit Ganzzahlnull"

#~ msgid "unordered comparison on non-floating point argument"
#~ msgstr "ungeordneter Vergleich mit Nicht-Gleitkomma-Argument"

#~ msgid "comparison between signed and unsigned"
#~ msgstr "Vergleich zwischen vorzeichenbehaftet und vorzeichenlos"

#~ msgid "comparison of promoted ~unsigned with constant"
#~ msgstr "Vergleich von weitergegebenem ~unsigned mit Konstante"

#~ msgid "comparison of promoted ~unsigned with unsigned"
#~ msgstr "Vergleich von weitergegebenem ~unsigned mit unsigned"

#~ msgid "%Jinlining failed in call to '%F'"
#~ msgstr "%J»inline« beim Aufruf von »%F« gescheitert"

#~ msgid "called from here"
#~ msgstr "von hier aufgerufen"

#~ msgid "%Jcan't inline call to '%F'"
#~ msgstr "%JAufruf von »%F« kann nicht »inline« erfolgen"

#~ msgid "ignoring return value of `%D', declared with attribute warn_unused_result"
#~ msgstr "Rückgabewert von »%D«, das mit dem Attribut warn_unused_result definiert wurde, wird ignoriert"

#~ msgid "ignoring return value of function declared with attribute warn_unused_result"
#~ msgstr "Rückgabewert der mit dem Attribut warn_unused_result definierten Funktion wird ignoriert"

#~ msgid "function call has aggregate value"
#~ msgstr "Funktionsaufruf hat zusammengesetzten Wert"

#~ msgid "bb %d on wrong place"
#~ msgstr "bb %d an falscher Stelle"

#~ msgid "prev_bb of %d should be %d, not %d"
#~ msgstr "prev_bb von %d sollte %d sein, nicht %d"

#~ msgid "verify_flow_info: Wrong count of block %i %i"
#~ msgstr "verify_flow_info: Falsche Blockzahl %i %i"

#~ msgid "verify_flow_info: Wrong frequency of block %i %i"
#~ msgstr "verify_flow_info: Falsche Blockfrequenz %i %i"

#~ msgid "verify_flow_info: Duplicate edge %i->%i"
#~ msgstr "verify_flow_info: Doppelte Kante %i->%i"

#~ msgid "verify_flow_info: Wrong probability of edge %i->%i %i"
#~ msgstr "verify_flow_info: Falsche Wahrscheinlichkeit der Kante %i->%i %i"

#~ msgid "verify_flow_info: Wrong count of edge %i->%i %i"
#~ msgstr "verify_flow_info: Falsche Kantenzahl %i->%i %i"

#~ msgid "verify_flow_info: Basic block %d succ edge is corrupted"
#~ msgstr "verify_flow_info: Nachfolgekante des Basis-Blocks %d ist beschädigt"

#~ msgid "Wrong amount of branch edges after unconditional jump %i"
#~ msgstr "Falsche Summe der Zweig-Kanten nach unbedingtem Sprung %i"

#~ msgid "basic block %d pred edge is corrupted"
#~ msgstr "Vorgänger des Basis-Blocks %d ist beschädigt"

#~ msgid "basic block %i edge lists are corrupted"
#~ msgstr "Kantenlisten des Basis-Blockes %i sind beschädigt"

#~ msgid "verify_flow_info failed"
#~ msgstr "verify_flow_info gescheitert"

#~ msgid "Size of loop %d should be %d, not %d."
#~ msgstr "Größe der Schleife %d sollte %d sein, nicht %d"

#~ msgid "Bb %d do not belong to loop %d."
#~ msgstr "Bb %d gehört nicht zur Schleife %d."

#~ msgid "Loop %d's header does not have exactly 2 entries."
#~ msgstr "Kopf der Schleife %d hat nicht genau 2 Einträge."

#~ msgid "Loop %d's latch does not have exactly 1 successor."
#~ msgstr "Falle der Schleife %d hat nicht genau einen Nachfolger."

#~ msgid "Loop %d's latch does not have header as successor."
#~ msgstr "Falle der Schleife %d hat nicht den Kopf als Nachfolger."

#~ msgid "Loop %d's latch does not belong directly to it."
#~ msgstr "Falle der Schleife %d gehört nicht direkt zu ihr."

#~ msgid "Loop %d's header does not belong directly to it."
#~ msgstr "Kopf der Schleife %d gehört nicht direkt zu ihr."

#~ msgid "Loop %d's latch is marked as part of irreducible region."
#~ msgstr "Falle der Schleife %d ist als Teil einer irreduziblen Region markiert."

#~ msgid "Basic block %d should be marked irreducible."
#~ msgstr "Basisblock %d sollte als irreduzibel markiert werden."

#~ msgid "Basic block %d should not be marked irreducible."
#~ msgstr "Basisblock %d sollte nicht als irreduzibel markiert werden."

#~ msgid "Edge from %d to %d should be marked irreducible."
#~ msgstr "Kante von %d nach %d sollte als irreduzibel markiert werden."

#~ msgid "Edge from %d to %d should not be marked irreducible."
#~ msgstr "Kante von %d nach %d sollte nicht als irreduzibel markiert werden."

#~ msgid "end insn %d for block %d not found in the insn stream"
#~ msgstr "Ende-insn %d für Block %d nicht im insn-Stream gefunden"

#~ msgid "insn %d is in multiple basic blocks (%d and %d)"
#~ msgstr "insn %d ist in mehreren Basisblöcken (%d und %d)"

#~ msgid "head insn %d for block %d not found in the insn stream"
#~ msgstr "Kopf-insn %d für Block %d nicht im insn-Stream gefunden"

#~ msgid "verify_flow_info: REG_BR_PROB does not match cfg %wi %i"
#~ msgstr "verify_flow_info: REG_BR_PROB passt nicht zu cfg %wi %i"

#~ msgid "Missing REG_EH_REGION note in the end of bb %i"
#~ msgstr "Fehlender Vermerk von REG_EH_REGION am Ende vom bb %i"

#~ msgid "Too many outgoing branch edges from bb %i"
#~ msgstr "Zu viele abgehende Zweig-Kanten vom bb %i"

#~ msgid "Fallthru edge after unconditional jump %i"
#~ msgstr "Fallthru-Kante nach unbedingtem Sprung %i"

#~ msgid "Wrong amount of branch edges after conditional jump %i"
#~ msgstr "Falsche Summe der Zweig-Kanten nach bedingtem Sprung %i"

#~ msgid "Call edges for non-call insn in bb %i"
#~ msgstr "Ruf-Kanten für Nicht-Aufruf-insn im bb %i"

#~ msgid "Abnormal edges for no purpose in bb %i"
#~ msgstr "Abnormale Kanten ohne Grund in bb %i"

#~ msgid "insn %d inside basic block %d but block_for_insn is NULL"
#~ msgstr "insn %d innerhalb des Basis-Blockes %d, aber block_for_insn ist NULL"

#~ msgid "insn %d inside basic block %d but block_for_insn is %i"
#~ msgstr "insn %d innerhalb Basis-Blockes %d, aber block_for_insn ist %i"

#~ msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
#~ msgstr "NOTE_INSN_BASIC_BLOCK fehlt für Block %d"

#~ msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
#~ msgstr "NOTE_INSN_BASIC_BLOCK %d in der Mitte des Basis-Blocks %d"

#~ msgid "in basic block %d:"
#~ msgstr "im Basis-Block %d:"

#~ msgid "flow control insn inside a basic block"
#~ msgstr "Flusskontroll-insn innerhalb eines Basis-Blockes"

#~ msgid "missing barrier after block %i"
#~ msgstr "fehlende Sperre nach Block %i"

#~ msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
#~ msgstr "verify_flow_info: Falsche Blöcke für »fallthru« %i->%i"

#~ msgid "verify_flow_info: Incorrect fallthru %i->%i"
#~ msgstr "verify_flow_info: Falsches »fallthru« %i->%i"

#~ msgid "wrong insn in the fallthru edge"
#~ msgstr "falsche insn in »fallthru«-Kante"

#~ msgid "basic blocks not laid down consecutively"
#~ msgstr "Basis-Blöcke sind nicht fortlaufend"

#~ msgid "insn outside basic block"
#~ msgstr "insn außerhalb eines Basis-Blockes"

#~ msgid "return not followed by barrier"
#~ msgstr "»return« nicht gefolgt von Sperre"

#~ msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
#~ msgstr "Anzahl der bb-Vermerke in insn-Kette (%d) != n_basic_blocks (%d)"

#~ msgid "function body not available"
#~ msgstr "Funktionskörper nicht verfügbar"

#~ msgid "redefined extern inline functions are not considered for inlining"
#~ msgstr "redefinierte »extern inline«-Funktionen kommen nicht als »inline« in Betracht"

#~ msgid "function not considered for inlining"
#~ msgstr "Funktion kommt nicht für »inline« in Betracht"

#~ msgid "function not inlinable"
#~ msgstr "Funktion kann nicht »inline« sein"

#~ msgid "%D renamed after being referenced in assembly"
#~ msgstr "%D nach Referenzierung in Assemblierung umbenannt"

#~ msgid "--param large-function-growth limit reached"
#~ msgstr "--param large-function-growth: Limit erreicht"

#~ msgid "--param large-function-growth limit reached while inlining the caller"
#~ msgstr "--param large-function-growth: Limit bei »inline« des Aufrufers erreicht"

#~ msgid "--param max-inline-insns-single limit reached"
#~ msgstr "--param max-inline-insns-single: Limit erreicht"

#~ msgid "--param max-inline-insns-single limit reached after inlining into the callee"
#~ msgstr "--param max-inline-insns-single: Limit nach »inline« im Aufgerufenen erreicht"

#~ msgid "--param inline-unit-growth limit reached"
#~ msgstr "--param inline-unit-growth: Limit erreicht"

#~ msgid "recursive inlining"
#~ msgstr "rekursives inline"

#~ msgid "internal error"
#~ msgstr "interner Fehler"

#~ msgid "no arguments"
#~ msgstr "Keiner Argumente"

#~ msgid "fopen %s"
#~ msgstr "fopen %s"

#~ msgid "fclose %s"
#~ msgstr "fclose %s"

#~ msgid "collect2 version %s"
#~ msgstr "collect2-Version %s"

#~ msgid "%d constructor(s) found\n"
#~ msgstr "%d Konstruktor(en) gefunden\n"

#~ msgid "%d destructor(s)  found\n"
#~ msgstr "%d Destruktor(en) gefunden\n"

#~ msgid "%d frame table(s) found\n"
#~ msgstr "%d Rahmentabelle(n) gefunden\n"

#~ msgid "%s terminated with signal %d [%s]%s"
#~ msgstr "%s mit Signal %d [%s]%s beendet"

#~ msgid "%s returned %d exit status"
#~ msgstr "%s gab Ende-Status %d zurück"

#~ msgid "[cannot find %s]"
#~ msgstr "[kann %s nicht finden]"

#~ msgid "cannot find `%s'"
#~ msgstr "kann »%s« nicht finden"

#~ msgid "redirecting stdout: %s"
#~ msgstr "leite Standardausgabe um: %s"

#~ msgid "[Leaving %s]\n"
#~ msgstr "[Verlasse %s]\n"

#~ msgid ""
#~ "\n"
#~ "write_c_file - output name is %s, prefix is %s\n"
#~ msgstr ""
#~ "\n"
#~ "write_c_file - Ausgabename ist %s, Präfix ist %s\n"

#~ msgid "cannot find `nm'"
#~ msgstr "kann »nm« nicht finden"

#~ msgid "pipe"
#~ msgstr "Pipe"

#~ msgid "fdopen"
#~ msgstr "fdopen"

#~ msgid "dup2 %d 1"
#~ msgstr "dup2 %d 1"

#~ msgid "close %d"
#~ msgstr "close %d"

#~ msgid "execv %s"
#~ msgstr "execv %s"

#~ msgid "init function found in object %s"
#~ msgstr "init-Funktion im Objekt %s gefunden"

#~ msgid "fini function found in object %s"
#~ msgstr "fini-Funktion im Objekt %s gefunden"

#~ msgid "fclose"
#~ msgstr "fclose"

#~ msgid "unable to open file '%s'"
#~ msgstr "kann Datei »%s« nicht öffnen"

#~ msgid "unable to stat file '%s'"
#~ msgstr "kann Dateistatus für »%s« nicht ermitteln"

#~ msgid "unable to mmap file '%s'"
#~ msgstr "kann mmap nicht auf Datei »%s« anwenden"

#~ msgid "not found\n"
#~ msgstr "nicht gefunden\n"

#~ msgid "dynamic dependency %s not found"
#~ msgstr "dynamische Abhängigkeit %s nicht gefunden"

#~ msgid "bad magic number in file '%s'"
#~ msgstr "Falsche magische Zahl in Datei »%s«"

#~ msgid "dynamic dependencies.\n"
#~ msgstr "dynamische Abhängigkeiten.\n"

#~ msgid "cannot find `ldd'"
#~ msgstr "kann »ldd« nicht finden"

#~ msgid ""
#~ "\n"
#~ "ldd output with constructors/destructors.\n"
#~ msgstr ""
#~ "\n"
#~ "Ausgabe von ldd mit Konstruktoren/Destruktoren.\n"

#~ msgid "unable to open dynamic dependency '%s'"
#~ msgstr "kann dynamische Abhängigkeit »%s« nicht öffnen"

#~ msgid "%s: not a COFF file"
#~ msgstr "%s: keine COFF-Datei"

#~ msgid "%s: cannot open as COFF file"
#~ msgstr "kann %s nicht als COFF-Datei öffnen"

#~ msgid "library lib%s not found"
#~ msgstr "Bibliothek lib%s nicht gefunden"

#~ msgid ""
#~ ";; Combiner statistics: %d attempts, %d substitutions (%d requiring new space),\n"
#~ ";; %d successes.\n"
#~ "\n"
#~ msgstr ""
#~ ";; Kombinierer-Statistik: %d Versuche, %d Ersetzungen (%d benötigten neuen Platz),\n"
#~ ";; %d Erfolge.\n"
#~ "\n"

#~ msgid ""
#~ "\n"
#~ ";; Combiner totals: %d attempts, %d substitutions (%d requiring new space),\n"
#~ ";; %d successes.\n"
#~ msgstr ""
#~ "\n"
#~ ";; Kombinierer-Gesamtwerte: %d Versuche, %d Ersetzungen (%d benötigten neuen Platz),\n"
#~ ";; %d Erfolge.\n"

#~ msgid "cannot convert to a pointer type"
#~ msgstr "kann nicht in Zeigertyp konvertieren"

#~ msgid "pointer value used where a floating point value was expected"
#~ msgstr "Zeigerwert verwendet, wo Gleitkommawert erwartet wurde"

#~ msgid "aggregate value used where a float was expected"
#~ msgstr "zusammengesetzten Wert verwendet, wo Gleitkomma erwartet wurde"

#~ msgid "conversion to incomplete type"
#~ msgstr "Konvertierung in unvollständigen Typen"

#~ msgid "can't convert between vector values of different size"
#~ msgstr "kann nicht zwischen Vektorwerten verschiedener Größen konvertieren"

#~ msgid "aggregate value used where an integer was expected"
#~ msgstr "zusammengesetzter Wert verwendet, wo Ganzzahl erwartet wurde"

#~ msgid "pointer value used where a complex was expected"
#~ msgstr "Zeigerwert verwendet, wo »complex« erwartet wurde"

#~ msgid "aggregate value used where a complex was expected"
#~ msgstr "zusammengesetzer Wert verwendet, wo »complex« erwartet wurde"

#~ msgid "can't convert value to a vector"
#~ msgstr "kann Wert nicht in Vektor konvertieren"

#~ msgid "`%s' is not a gcov data file"
#~ msgstr "»%s« ist keine gcov-Datei"

#~ msgid "`%s' is version `%.4s', expected version `%.4s'"
#~ msgstr "»%s« hat Version »%.4s«, Version »%.4s« erwartet"

#~ msgid "coverage mismatch for function %u while reading execution counters."
#~ msgstr "Überdeckung passt nicht für Funktion %u beim Lesen der Ausführungszähler."

#~ msgid "checksum is %x instead of %x"
#~ msgstr "Prüfsumme ist %x statt %x"

#~ msgid "number of counters is %d instead of %d"
#~ msgstr "Zahl der Zähler ist %d statt %d"

#~ msgid "cannot merge separate %s counters for function %u"
#~ msgstr "separate %s Zähler für die Funktion %u können nicht verschmolzen werden"

#~ msgid "`%s' has overflowed"
#~ msgstr "»%s« übergelaufen"

#~ msgid "`%s' is corrupted"
#~ msgstr "»%s« ist beschädigt"

#~ msgid "file %s not found, execution counts assumed to be zero"
#~ msgstr "Datei %s nicht gefunden, Ausführungszähler als null angenommen"

#~ msgid "no coverage for function '%s' found."
#~ msgstr "keine Überdeckung für Funktion »%s« gefunden."

#~ msgid "coverage mismatch for function '%s' while reading counter '%s'."
#~ msgstr "Überdeckung passt nicht bei Funktion »%s« beim Lesen des Zählers »%s«."

#~ msgid "cannot open %s"
#~ msgstr "Es ist nicht möglich, »%s« zu öffnen"

#~ msgid "error writing `%s'"
#~ msgstr "Fehler beim Schreiben der Datei »%s«"

#~ msgid "\"%s\" is not a valid option to the preprocessor"
#~ msgstr "»%s« ist keine gültige Präprozessoroption"

#~ msgid "too many input files"
#~ msgstr "zu viele Eingabedateien"

#~ msgid ";; Processing block from %d to %d, %d sets.\n"
#~ msgstr ";; Bearbeite Block von %d bis %d, %d Sets.\n"

#~ msgid "%s:%d: confused by earlier errors, bailing out\n"
#~ msgstr "%s:%d: durch frühere Fehler verwirrt, Abbruch\n"

#~ msgid "compilation terminated.\n"
#~ msgstr "Kompilierung beendet.\n"

#~ msgid "Internal compiler error: Error reporting routines re-entered.\n"
#~ msgstr "Interner Compilerfehler: Fehlerbehandlungsroutinen doppelt betreten.\n"

#~ msgid "in %s, at %s:%d"
#~ msgstr "in %s, bei %s:%d"

#~ msgid "dominator of %d should be %d, not %d"
#~ msgstr "Herrscher über %d sollte %d sein, nicht %d"

#~ msgid "DW_LOC_OP %s not implemented\n"
#~ msgstr "DW_LOC_OP %s nicht implementiert\n"

#~ msgid "can't access real part of complex value in hard register"
#~ msgstr "kann nicht auf realen Teil des komplexen Wertes im festen Register zugreifen"

#~ msgid "can't access imaginary part of complex value in hard register"
#~ msgstr "kann nicht auf imaginären Teil des komplexen Wertes im festen Register zugreifen"

#~ msgid "Invalid rtl sharing found in the insn"
#~ msgstr "ungültige gemeinsame rtl-Benutzung in insn gefunden"

#~ msgid "Shared rtx"
#~ msgstr "Gemeinsames rtx"

#~ msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
#~ msgstr "ICE: emit_insn verwendet, wo emit_jump_insn erforderlich:\n"

#~ msgid "abort in %s, at %s:%d"
#~ msgstr "Abbruch in %s, bei %s:%d"

#~ msgid "exception handling disabled, use -fexceptions to enable"
#~ msgstr "Ausnahmebehandlung ausgeschaltet, benutzen Sie -fexeptions zum Anschalten"

#~ msgid "argument of `__builtin_eh_return_regno' must be constant"
#~ msgstr "Argument für »__builtin_eh_return_regno« muss konstant sein"

#~ msgid "__builtin_eh_return not supported on this target"
#~ msgstr "__builtin_eh_return für dieses Ziel nicht unterstützt"

#~ msgid "stack limits not supported on this target"
#~ msgstr "Kellergrenzen nicht für dieses Ziel unterstützt"

#~ msgid "function using short complex types cannot be inline"
#~ msgstr "Funktion, die komplexe »short«-Typen verwendet, kann nicht »inline« sein"

#~ msgid "%Jprior parameter's size depends on '%D'"
#~ msgstr "%Jvorherige Parametergröße hängt von »%D« ab"

#~ msgid "returned value in block_exit_expr"
#~ msgstr "zurückgelieferter Wert in block_exit_expr"

#~ msgid "cannot take the address of an unaligned member"
#~ msgstr "die Adresse eines nicht ausgerichteten Elements kann nicht ermittelt werden"

#~ msgid "negative insn length"
#~ msgstr "negative insn-Länge"

#~ msgid "could not split insn"
#~ msgstr "insn kann nicht aufgeteilt werden"

#~ msgid "invalid `asm': "
#~ msgstr "ungültiges »asm«: "

#~ msgid "nested assembly dialect alternatives"
#~ msgstr "geschachtelte Assemblerdialekt-Alternativen"

#~ msgid "unterminated assembly dialect alternative"
#~ msgstr "unbeendete Assemblerdialekt-Alternative"

#~ msgid "operand number missing after %%-letter"
#~ msgstr "Operandenzahl fehlt hinter %%-Buchstabe"

#~ msgid "operand number out of range"
#~ msgstr "Operandenzahl außerhalb des Wertebereiches"

#~ msgid "invalid %%-code"
#~ msgstr "ungültiger %%-Code"

#~ msgid "`%%l' operand isn't a label"
#~ msgstr "»%%l«-Operand ist keine Marke"

#~ msgid "floating constant misused"
#~ msgstr "Gleitkommakonstante falsch benutzt"

#~ msgid "invalid expression as operand"
#~ msgstr "ungültiger Ausdruck als Operand"

#~ msgid "function might be possible candidate for attribute `noreturn'"
#~ msgstr "Funktion könnte möglicher Kandidat für Attribut »noreturn« sein"

#~ msgid "`noreturn' function does return"
#~ msgstr "»noreturn«-Funktion kehrt zurück"

#~ msgid "control reaches end of non-void function"
#~ msgstr "Kontrollfluss erreicht Ende einer Nicht-void-Funktion"

#~ msgid "Attempt to delete prologue/epilogue insn:"
#~ msgstr "Versuch, Prolog/Epilog-insn zu löschen"

#~ msgid "comparison is always %d due to width of bit-field"
#~ msgstr "Vergleich ist immer %d wegen Breite des Bitfeldes"

#~ msgid "comparison is always %d"
#~ msgstr "Vergleich ist immer %d"

#~ msgid "`or' of unmatched not-equal tests is always 1"
#~ msgstr "»oder« nicht passender Ungleichheits-Tests ist immer 1"

#~ msgid "`and' of mutually exclusive equal-tests is always 0"
#~ msgstr "»und« gegenseitig ausschließender Gleichheits-Tests ist immer 0"

#~ msgid "fold check: original tree changed by fold"
#~ msgstr "Faltungstest: ursprünglicher Baum durch Faltung geändert"

#~ msgid "%Jsize of variable '%D' is too large"
#~ msgstr "%JGröße der Variable »%D« ist zu hoch"

#~ msgid "impossible constraint in `asm'"
#~ msgstr "unmögliche Bedingung in »asm«"

#~ msgid "%J'%D' might be used uninitialized in this function"
#~ msgstr "%J»%D« könnte in dieser Funktion uninitialisiert bleiben"

#~ msgid "%Jvariable '%D' might be clobbered by `longjmp' or `vfork'"
#~ msgstr "%JVariable »%D« könnte von »longjmp« oder »vfork« zerstört werden"

#~ msgid "%Jargument '%D' might be clobbered by `longjmp' or `vfork'"
#~ msgstr "%JArgument »%D« könnte von »longjmp« oder »vfork« zerstört werden"

#~ msgid "function returns an aggregate"
#~ msgstr "Funktion gibt Aggregat zurück"

#~ msgid "%Junused parameter '%D'"
#~ msgstr "%Jnicht benutzter Parameter »%D«"

#~ msgid "ambiguous abbreviation %s"
#~ msgstr "mehrdeutige Abkürzung %s"

#~ msgid "incomplete `%s' option"
#~ msgstr "unvollständige »%s«-Option"

#~ msgid "missing argument to `%s' option"
#~ msgstr "fehlendes Argument für »%s«-Option"

#~ msgid "extraneous argument to `%s' option"
#~ msgstr "zusätzliches (belangloses) Argument für »%s«-Option"

#~ msgid "Using built-in specs.\n"
#~ msgstr "Benutze eingebaute Spezifikationen.\n"

#~ msgid ""
#~ "Setting spec %s to '%s'\n"
#~ "\n"
#~ msgstr ""
#~ "Setze Spezifikation %s auf '%s'\n"
#~ "\n"

#~ msgid "Reading specs from %s\n"
#~ msgstr "Lese Spezifikationen von %s\n"

#~ msgid "specs %%include syntax malformed after %ld characters"
#~ msgstr "falsche %%include-Syntax für Spezifikationen nach %ld Zeichen"

#~ msgid "could not find specs file %s\n"
#~ msgstr "konnte Spezifikationsdatei %s nicht finden\n"

#~ msgid "specs %%rename syntax malformed after %ld characters"
#~ msgstr "falsche %%rename-Syntax für Spezifikationen nach %ld Zeichen"

#~ msgid "specs %s spec was not found to be renamed"
#~ msgstr "keine %s-Spezifikation zum Umbenennen gefunden"

#~ msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
#~ msgstr "%s: Versuch, Spezifikation »%s« in bereits definierte Spezifikation »%s« umzubenennen"

#~ msgid "rename spec %s to %s\n"
#~ msgstr "benenne Spezifikation %s nach %s um\n"

#~ msgid ""
#~ "spec is '%s'\n"
#~ "\n"
#~ msgstr ""
#~ "Spezifikation ist '%s'\n"
#~ "\n"

#~ msgid "specs unknown %% command after %ld characters"
#~ msgstr "Spezifikation: unbekannter %%-Befehl nach %ld Zeichen"

#~ msgid "specs file malformed after %ld characters"
#~ msgstr "Fehler in Spezifikationsdatei nach %ld Zeichen"

#~ msgid "spec file has no spec for linking"
#~ msgstr "Spezifikationsdatei hat keine Spezifikation zum Binden"

#~ msgid "-pipe not supported"
#~ msgstr "-pipe wird nicht unterstützt"

# can we use j/n here, too?
# 2002-04-23 18:57:43 CEST -ke-
#~ msgid ""
#~ "\n"
#~ "Go ahead? (y or n) "
#~ msgstr ""
#~ "\n"
#~ "Fortfahren? (y oder n) "

#~ msgid ""
#~ "Internal error: %s (program %s)\n"
#~ "Please submit a full bug report.\n"
#~ "See %s for instructions."
#~ msgstr ""
#~ "Interner Fehler: %s (Programm %s)\n"
#~ "Bitte senden Sie einen vollständigen Fehlerbericht\n"
#~ "auf Englisch ein; Fehler in der deutschen Übersetzung\n"
#~ "sind an de@li.org zu melden.\n"
#~ "Gehen Sie gemäß den Hinweisen in %s vor."

#~ msgid "# %s %.2f %.2f\n"
#~ msgstr "# %s %.2f %.2f\n"

#~ msgid "Usage: %s [options] file...\n"
#~ msgstr "Aufruf: %s [Optionen] Datei...\n"

#~ msgid "Options:\n"
#~ msgstr "Optionen:\n"

#~ msgid "  -pass-exit-codes         Exit with highest error code from a phase\n"
#~ msgstr "  -pass-exit-codes         Ende mit höchstem Rückgabe-Code einer Phase\n"

#~ msgid "  --help                   Display this information\n"
#~ msgstr "  --help                   Diese Informationen anzeigen\n"

#~ msgid "  --target-help            Display target specific command line options\n"
#~ msgstr "  --target-help            Zielspezifische Kommandozeilenoptionen anzeigen\n"

#~ msgid "  (Use '-v --help' to display command line options of sub-processes)\n"
#~ msgstr "  ('-v --help' zum Anzeigen der Kommandozeilenoptionen von Subprozessen verwenden)\n"

#~ msgid "  -dumpspecs               Display all of the built in spec strings\n"
#~ msgstr "  -dumpspecs               Alle eingebauten Spezifikationszeichenketten anzeigen\n"

#~ msgid "  -dumpversion             Display the version of the compiler\n"
#~ msgstr "  -dumpversion             Compilerversion anzeigen\n"

#~ msgid "  -dumpmachine             Display the compiler's target processor\n"
#~ msgstr "  -dumpmachine             Zielprozessor des Compilers anzeigen\n"

#~ msgid "  -print-search-dirs       Display the directories in the compiler's search path\n"
#~ msgstr "  -print-search-dirs       Verzeichnisse im Suchpfad des Compilers anzeigen\n"

#~ msgid "  -print-libgcc-file-name  Display the name of the compiler's companion library\n"
#~ msgstr "  -print-libgcc-file-name  Name der Begleitbibliothek des Compilers anzeigen\n"

#~ msgid "  -print-file-name=<lib>   Display the full path to library <lib>\n"
#~ msgstr "  -print-file-name=<lib>   Vollen Pfad zur Bibliothek <lib> anzeigen\n"

#~ msgid "  -print-prog-name=<prog>  Display the full path to compiler component <prog>\n"
#~ msgstr "  -print-prog-name=<prog>  Vollen Pfad zur Compilerkomponente <prog> anzeigen\n"

#~ msgid "  -print-multi-directory   Display the root directory for versions of libgcc\n"
#~ msgstr "  -print-multi-directory   Wurzelverzeichnis für Versionen von libgcc anzeigen\n"

#~ msgid ""
#~ "  -print-multi-lib         Display the mapping between command line options and\n"
#~ "                           multiple library search directories\n"
#~ msgstr ""
#~ "  -print-multi-lib         Abbildung zwischen Kommandozeilenoptionen und\n"
#~ "                           mehreren Suchverzeichnissen für Bibliotheken anzeigen\n"

#~ msgid "  -print-multi-os-directory Display the relative path to OS libraries\n"
#~ msgstr ""
#~ "  -print-multi-os-directory Relativen Pfad zu Betriebssystembibliotheken\n"
#~ "                            anzeigen\n"

#~ msgid "  -Wa,<options>            Pass comma-separated <options> on to the assembler\n"
#~ msgstr "  -Wa,<Optionen>           Komma-getrennte <Optionen> an Assembler übergeben\n"

#~ msgid "  -Wp,<options>            Pass comma-separated <options> on to the preprocessor\n"
#~ msgstr "  -Wp,<Optionen>           Komma-getrennte <Optionen> an Präprozessor übergeben\n"

#~ msgid "  -Wl,<options>            Pass comma-separated <options> on to the linker\n"
#~ msgstr "  -Wl,<Optionen>           Komma-getrennte <Optionen> an Linker übergeben\n"

#~ msgid "  -Xassembler <arg>        Pass <arg> on to the assembler\n"
#~ msgstr "  -Xassembler <arg>        <arg> an den Assembler übergeben\n"

#~ msgid "  -Xpreprocessor <arg>     Pass <arg> on to the preprocessor\n"
#~ msgstr "  -Xpreprocessor <arg>     <arg> an den Präprozessor übergeben\n"

#~ msgid "  -Xlinker <arg>           Pass <arg> on to the linker\n"
#~ msgstr "  -Xlinker <arg>           <arg> an den Linker übergeben\n"

#~ msgid "  -save-temps              Do not delete intermediate files\n"
#~ msgstr "  -save-temps              Temporäre Dateien nicht löschen\n"

#~ msgid "  -pipe                    Use pipes rather than intermediate files\n"
#~ msgstr "  -pipe                    Pipes statt temporärer Dateien verwenden\n"

#~ msgid "  -time                    Time the execution of each subprocess\n"
#~ msgstr "  -time                    Zeit für Ausführung jedes Subprozesses stoppen\n"

#~ msgid "  -specs=<file>            Override built-in specs with the contents of <file>\n"
#~ msgstr ""
#~ "  -specs=<Datei>           Eingebaute Spezifikationen mit Inhalt der <Datei>\n"
#~ "                           überschreiben\n"

#~ msgid "  -std=<standard>          Assume that the input sources are for <standard>\n"
#~ msgstr "  -std=<Standard>          Annehmen, dass die Eingabequellen für <Standard> sind\n"

#~ msgid "  -B <directory>           Add <directory> to the compiler's search paths\n"
#~ msgstr "  -B <Verzeichnis>         <Verzeichnis> zum Suchpfad des Compilers hinzufügen\n"

#~ msgid "  -b <machine>             Run gcc for target <machine>, if installed\n"
#~ msgstr ""
#~ "  -b <Maschine>            GCC für die Ziel-<Maschine> laufen lassen, falls\n"
#~ "                           installiert\n"

#~ msgid "  -V <version>             Run gcc version number <version>, if installed\n"
#~ msgstr "  -V <Version>             GCC <Version> laufen lassen, falls installiert\n"

#~ msgid "  -v                       Display the programs invoked by the compiler\n"
#~ msgstr "  -v                       Vom Compiler aufgerufene Programme anzeigen\n"

#~ msgid "  -###                     Like -v but options quoted and commands not executed\n"
#~ msgstr ""
#~ "  -###                     Wie -v, aber mit zitierten Optionen und nicht\n"
#~ "                           ausgeführten Befehlen\n"

#~ msgid "  -E                       Preprocess only; do not compile, assemble or link\n"
#~ msgstr ""
#~ "  -E                       Nur Präprozessor, kein Compiler, Assembler oder\n"
#~ "                           Binder\n"

#~ msgid "  -S                       Compile only; do not assemble or link\n"
#~ msgstr "  -S                       Nur kompilieren, nicht assemblieren oder binden\n"

#~ msgid "  -c                       Compile and assemble, but do not link\n"
#~ msgstr "  -c                       Nur kompilieren und assemblieren, aber nicht binden\n"

#~ msgid "  -o <file>                Place the output into <file>\n"
#~ msgstr "  -o <Datei>               Ausgabe in <Datei> schreiben\n"

#~ msgid ""
#~ "  -x <language>            Specify the language of the following input files\n"
#~ "                           Permissible languages include: c c++ assembler none\n"
#~ "                           'none' means revert to the default behavior of\n"
#~ "                           guessing the language based on the file's extension\n"
#~ msgstr ""
#~ "  -x <Sprache>             Sprache der folgenden Eingabedateien angeben\n"
#~ "                           Zulässige Sprachen sind: c c++ assembler none\n"
#~ "                           'none' bedeutet den Rückfall auf das Standard-\n"
#~ "                           verhalten, die Sprache aufgrund der Dateinamens-\n"
#~ "                           erweiterung zu vermuten\n"

#~ msgid ""
#~ "\n"
#~ "Options starting with -g, -f, -m, -O, -W, or --param are automatically\n"
#~ " passed on to the various sub-processes invoked by %s.  In order to pass\n"
#~ " other options on to these processes the -W<letter> options must be used.\n"
#~ msgstr ""
#~ "\n"
#~ "Optionen, die mit -g, -f, -m, -O, -W, oder --param beginnen, werden automatisch\n"
#~ " an die verschiedenen Subprozesse, die von %s aufgerufen werden, übergeben.\n"
#~ " Um andere Optionen an diese Prozesse zu übergeben, müssen die Optionen\n"
#~ " -W<Buchstabe> verwendet werden.\n"

#~ msgid "`-%c' option must have argument"
#~ msgstr "Die Option »-%c« muss ein Argument haben"

#~ msgid "couldn't run `%s': %s"
#~ msgstr "konnte »%s« nicht ausführen: %s"

#~ msgid "%s (GCC) %s\n"
#~ msgstr "%s (GCC) %s\n"

#~ msgid ""
#~ "This is free software; see the source for copying conditions.  There is NO\n"
#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
#~ "\n"
#~ msgstr ""
#~ "Dies ist freie Software; die Kopierbedingungen stehen in den Quellen. Es\n"
#~ "gibt KEINE Garantie; auch nicht für VERKAUFBARKEIT oder FÜR SPEZIELLE ZWECKE.\n"
#~ "\n"

#~ msgid "argument to `-Xlinker' is missing"
#~ msgstr "Argument für »-Xlinker« fehlt"

#~ msgid "argument to `-Xpreprocessor' is missing"
#~ msgstr "Argument für »-Xpreprocessor« fehlt"

#~ msgid "argument to `-Xassembler' is missing"
#~ msgstr "Argument für »-Xassembler« fehlt"

#~ msgid "argument to `-l' is missing"
#~ msgstr "Argument für »-l« fehlt"

#~ msgid "argument to `-specs' is missing"
#~ msgstr "Argument für »-specs« fehlt"

#~ msgid "argument to `-specs=' is missing"
#~ msgstr "Argument für »-specs=« fehlt"

#~ msgid "`-%c' must come at the start of the command line"
#~ msgstr "»-%c« muss am Anfang der Kommandozeile stehen"

#~ msgid "argument to `-B' is missing"
#~ msgstr "Argument für »-B« fehlt"

#~ msgid "warning: -pipe ignored because -save-temps specified"
#~ msgstr "Warnung: -pipe ignoriert, da -save-temps angegeben"

#~ msgid "warning: -pipe ignored because -time specified"
#~ msgstr "Warnung: -pipe ignoriert, da -time angegeben"

#~ msgid "argument to `-x' is missing"
#~ msgstr "Argument für »-x« fehlt"

#~ msgid "argument to `-%s' is missing"
#~ msgstr "Argument für »-%s« fehlt"

#~ msgid "warning: `-x %s' after last input file has no effect"
#~ msgstr "Warnung: »-x %s« hinter letzter Eingabedatei hat keine Wirkung"

#~ msgid "invalid specification!  Bug in cc"
#~ msgstr "ungültige Spezifikation!  Fehler in cc"

#~ msgid "%s\n"
#~ msgstr "%s\n"

#~ msgid "spec failure: '%%*' has not been initialized by pattern match"
#~ msgstr "Spezifikationsfehler: »%%*« wurde nicht durch Mustererkennung initialisiert"

#~ msgid "warning: use of obsolete %%[ operator in specs"
#~ msgstr "Warnung: Verwendung des veralteten Operators %%[ in Spezifikation"

#~ msgid "Processing spec %c%s%c, which is '%s'\n"
#~ msgstr "Verarbeite Spezifikation %c%s%c, welche »%s« ist\n"

#~ msgid "spec failure: unrecognized spec option '%c'"
#~ msgstr "Spezifikationsfehler: nicht erkannte Option »%c«"

#~ msgid "unknown spec function `%s'"
#~ msgstr "unbekannte Spezifikationsfunktion »%s«"

#~ msgid "error in args to spec function `%s'"
#~ msgstr "Fehler in Argumenten für Spezifikationsfunktion »%s«"

#~ msgid "malformed spec function name"
#~ msgstr "schlechter Name für Spezifikationsfunktion"

#~ msgid "no arguments for spec function"
#~ msgstr "keine Argumente für Spezifikationsfunktion"

#~ msgid "malformed spec function arguments"
#~ msgstr "schlechte Argumente für Spezifikationsfunktion"

#~ msgid "spec failure: more than one arg to SYSROOT_SUFFIX_SPEC."
#~ msgstr "Spezifikationsfehler: mehr als ein Argument für SYSROOT_SUFFIX_SPEC."

#~ msgid "spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC."
#~ msgstr "Spezifikationsfehler: mehr als ein Argument für SYSROOT_HEADERS_SUFFIX_SPEC."

#~ msgid "unrecognized option `-%s'"
#~ msgstr "nicht erkannte Option »-%s«"

#~ msgid "install: %s%s\n"
#~ msgstr "installiere: %s%s\n"

#~ msgid "programs: %s\n"
#~ msgstr "Programme: %s\n"

#~ msgid "libraries: %s\n"
#~ msgstr "Bibliotheken: %s\n"

#~ msgid ""
#~ "\n"
#~ "For bug reporting instructions, please see:\n"
#~ msgstr ""
#~ "\n"
#~ "Zum Einsenden von Fehlerberichten (auf Englisch) lesen Sie bitte die\n"
#~ "folgenden Hinweise; Fehler in der deutschen Übersetzung sind an de@li.org\n"
#~ "zu melden:\n"

#~ msgid "Configured with: %s\n"
#~ msgstr "Konfiguriert mit: %s\n"

#~ msgid "Thread model: %s\n"
#~ msgstr "Thread-Modell: %s\n"

#~ msgid "gcc version %s\n"
#~ msgstr "gcc-Version %s\n"

#~ msgid "gcc driver version %s executing gcc version %s\n"
#~ msgstr "gcc-Treiberversion %s führt gcc Version %s aus\n"

#~ msgid "no input files"
#~ msgstr "keine Eingabedateien"

#~ msgid "%s: linker input file unused because linking not done"
#~ msgstr "%s: Eingabedateien des Binders unbenutzt, da keine Bindung geschieht"

#~ msgid "cannot specify -o with -c or -S and multiple languages"
#~ msgstr "-o kann nicht mit -c oder -S und mehreren Sprachen angegeben werden"

#~ msgid "%s: %s compiler not installed on this system"
#~ msgstr "%s: %s-Compiler ist auf diesem System nicht installiert"

#~ msgid "language %s not recognized"
#~ msgstr "Sprache %s nicht erkannt"

#~ msgid "internal gcc abort"
#~ msgstr "interner Abruch des gcc"

#~ msgid "Internal gcov abort.\n"
#~ msgstr "Interner gcov-Abbruch.\n"

#~ msgid ""
#~ "Usage: gcov [OPTION]... SOURCEFILE\n"
#~ "\n"
#~ msgstr ""
#~ "Aufruf: gcov [OPTION]... QUELLDATEI\n"
#~ "\n"

#~ msgid ""
#~ "Print code coverage information.\n"
#~ "\n"
#~ msgstr ""
#~ "Information zur Code-Überdeckung ausgeben.\n"
#~ "\n"

#~ msgid "  -h, --help                      Print this help, then exit\n"
#~ msgstr "  -h, --help                      Diese Hilfe anzeigen\n"

#~ msgid "  -v, --version                   Print version number, then exit\n"
#~ msgstr "  -v, --version                   Versionsnummer anzeigen\n"

#~ msgid "  -a, --all-blocks                Show information for every basic block\n"
#~ msgstr "  -a, --all-blocks                Informationen für jeden Basisblock zeigen\n"

#~ msgid "  -b, --branch-probabilities      Include branch probabilities in output\n"
#~ msgstr "  -b, --branch-probabilities      Zweigwahrscheinlichkeiten in Ausgabe aufnehmen\n"

#~ msgid ""
#~ "  -c, --branch-counts             Given counts of branches taken\n"
#~ "                                    rather than percentages\n"
#~ msgstr "  -c, --branch-counts             Angegebene Zweigzahlen statt Anteilen nehmen\n"

#~ msgid "  -n, --no-output                 Do not create an output file\n"
#~ msgstr "  -n, --no-output                 Keine Ausgabedatei erzeugen\n"

#~ msgid ""
#~ "  -l, --long-file-names           Use long output file names for included\n"
#~ "                                    source files\n"
#~ msgstr ""
#~ "  -l, --long-file-names           Lange Dateinamen für Ausgabedateien für\n"
#~ "                                    eingefügte Quelldateien verwenden\n"

#~ msgid "  -f, --function-summaries        Output summaries for each function\n"
#~ msgstr "  -f, --function-summaries        Ausgabezusammenfassungen für jede Funktion\n"

#~ msgid "  -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
#~ msgstr ""
#~ "  -o, --object-directory DIR|FILE In DIR oder aufgerufener Datei FILE nach\n"
#~ "                                  Objektdateien suchen\n"

#~ msgid "  -p, --preserve-paths            Preserve all pathname components\n"
#~ msgstr "  -p, --preserve-paths            Alle Pfadnamenskomponenten bewahren\n"

#~ msgid "  -u, --unconditional-branches    Show unconditional branch counts too\n"
#~ msgstr "  -u, --unconditional-branches    Auch unbedingte Zweigzähler zeigen\n"

#~ msgid ""
#~ "\n"
#~ "For bug reporting instructions, please see:\n"
#~ "%s.\n"
#~ msgstr ""
#~ "\n"
#~ "Zum Einsenden von Fehlerberichten (auf Englisch) lesen Sie bitte die Hinweise in:\n"
#~ "%s.\n"
#~ "Fehler in der deutschen Übersetzung sind an de@li.org zu melden.\n"

#~ msgid "gcov (GCC) %s\n"
#~ msgstr "gcov (GCC) %s\n"

#~ msgid "Copyright (C) 2003 Free Software Foundation, Inc.\n"
#~ msgstr "Copyright © 2003 Free Software Foundation, Inc.\n"

#~ msgid ""
#~ "This is free software; see the source for copying conditions.\n"
#~ "There is NO warranty; not even for MERCHANTABILITY or \n"
#~ "FITNESS FOR A PARTICULAR PURPOSE.\n"
#~ "\n"
#~ msgstr ""
#~ "Dies ist freie Software; die Kopierbedingungen stehen in den Quellen. Es\n"
#~ "gibt KEINE Garantie; auch nicht für VERKAUFBARKEIT oder FÜR SPEZIELLE ZWECKE.\n"
#~ "\n"

#~ msgid "%s:no functions found\n"
#~ msgstr "%s: keine Funktionen gefunden\n"

#~ msgid "\n"
#~ msgstr "\n"

#~ msgid "%s:creating `%s'\n"
#~ msgstr "%s: Erzeugen von »%s«\n"

#~ msgid "%s:error writing output file `%s'\n"
#~ msgstr "%s: Fehler beim Schreiben der Ausgabedatei »%s«\n"

#~ msgid "%s:could not open output file `%s'\n"
#~ msgstr "%s: Ausgabedatei %s konnte nicht geöffnet werden\n"

#~ msgid "%s:cannot open graph file\n"
#~ msgstr "%s: Graph-Datei kann nicht geöffnet werden\n"

#~ msgid "%s:not a gcov graph file\n"
#~ msgstr "%s: keine gcov-Graph-Datei\n"

#~ msgid "%s:version `%.4s', prefer `%.4s'\n"
#~ msgstr "%s: Version »%.4s«, aber »%.4s« wird bevorzugt\n"

#~ msgid "%s:already seen blocks for `%s'\n"
#~ msgstr "%s: bereits gesehene Blöcke für »%s«\n"

#~ msgid "%s:corrupted\n"
#~ msgstr "%s: beschädigt\n"

#~ msgid "%s:cannot open data file\n"
#~ msgstr "%s: kann nicht geöffnet werden\n"

#~ msgid "%s:not a gcov data file\n"
#~ msgstr "%s: keine gcov-Datei\n"

#~ msgid "%s:version `%.4s', prefer version `%.4s'\n"
#~ msgstr "%s: Version »%.4s«, aber Version »%.4s« wird bevorzugt\n"

#~ msgid "%s:stamp mismatch with graph file\n"
#~ msgstr "%s: Marke passt nicht zur Graph-Datei\n"

#~ msgid "%s:unknown function `%u'\n"
#~ msgstr "%s: unbekannte Funktion »%u«\n"

#~ msgid "%s:profile mismatch for `%s'\n"
#~ msgstr "%s: Profil passt nicht für `%s'\n"

#~ msgid "%s:overflowed\n"
#~ msgstr "%s: übergelaufen\n"

#~ msgid "%s:`%s' lacks entry and/or exit blocks\n"
#~ msgstr "%s: Eintrag und/oder Exit-Blöcke fehlen in »%s«\n"

#~ msgid "%s:`%s' has arcs to entry block\n"
#~ msgstr "%s: »%s« hat Bögen zum Eintrittsblock\n"

#~ msgid "%s:`%s' has arcs from exit block\n"
#~ msgstr "%s: »%s« hat Bögen vom Eintrittsblock\n"

#~ msgid "%s:graph is unsolvable for `%s'\n"
#~ msgstr "%s: Graph ist für »%s« unlösbar\n"

#~ msgid "%s `%s'\n"
#~ msgstr "%s: »%s«\n"

#~ msgid "Lines executed:%s of %d\n"
#~ msgstr "%s von %d Zeilen ausgeführt\n"

#~ msgid "No executable lines"
#~ msgstr "Keine ausführbaren Zeilen"

#~ msgid "Branches executed:%s of %d\n"
#~ msgstr "%s von %d Zweigen ausgeführt\n"

#~ msgid "Taken at least once:%s of %d\n"
#~ msgstr "%s von %d Zweigen mindestens einmal genommen\n"

#~ msgid "No branches\n"
#~ msgstr "Keine Zweige\n"

#~ msgid "Calls executed:%s of %d\n"
#~ msgstr "%s von %d Aufrufe ausgeführt\n"

#~ msgid "No calls\n"
#~ msgstr "Keine Aufrufe\n"

#~ msgid "%s:no lines for `%s'\n"
#~ msgstr "%s: keine Zeilen für »%s«\n"

#~ msgid "call   %2d returned %s\n"
#~ msgstr "Aufruf %2d gab %s zurück\n"

#~ msgid "call   %2d never executed\n"
#~ msgstr "Aufruf %2d niemals ausgeführt\n"

#~ msgid "branch %2d taken %s%s\n"
#~ msgstr "Zweig %2d wurde genommen: %s%s\n"

#~ msgid "branch %2d never executed\n"
#~ msgstr "Zweig %2d niemals ausgeführt\n"

#~ msgid "unconditional %2d taken %s\n"
#~ msgstr "unbedingtes %2d, genommen: %s\n"

#~ msgid "unconditional %2d never executed\n"
#~ msgstr "unbedingtes %2d niemals ausgeführt\n"

#~ msgid "%s:cannot open source file\n"
#~ msgstr "%s: Quelldatei kann nicht geöffnet werden\n"

#~ msgid "%s:source file is newer than graph file `%s'\n"
#~ msgstr "%s: Quelldatei ist neuer als Graph-Datei »%s«\n"

#~ msgid "GCSE disabled"
#~ msgstr "GCSE ausgeschaltet"

#~ msgid "NULL pointer checks disabled"
#~ msgstr "NULL-Zeiger Tests ausgeschaltet"

#~ msgid "jump bypassing disabled"
#~ msgstr "Sprungumgehungen ausgeschaltet"

#~ msgid "%s: %d basic blocks and %d edges/basic block"
#~ msgstr "%s: %d Basis-Blöcke und %d Kanten/Basis-Blöcke"

#~ msgid "%s: %d basic blocks and %d registers"
#~ msgstr "%s: %d Basis-Blöcke und %d Register"

#~ msgid "can't write PCH file: %m"
#~ msgstr "PCH-Datei kann nicht geschrieben werden: %m"

#~ msgid "can't get position in PCH file: %m"
#~ msgstr "Position in PCH-Datei kann nicht ermittelt werden: %m"

#~ msgid "can't write padding to PCH file: %m"
#~ msgstr "Auffüllung für PCH-Datei kann nicht geschrieben werden: %m"

#~ msgid "can't read PCH file: %m"
#~ msgstr "PCH-Datei kann nicht gelesen werden: %m"

#~ msgid "had to relocate PCH"
#~ msgstr "PCH musste verschoben werden"

#~ msgid "open /dev/zero: %m"
#~ msgstr "/dev/zero öffnen: %m"

#~ msgid "can't write PCH file"
#~ msgstr "PCH-Datei kann nicht geschrieben werden"

#~ msgid "Generating PCH files is not supported when using ggc-simple.c"
#~ msgstr "Das Erzeugen von PCH-Dateien wird bei Verwendung von ggc-simple.c nicht unterstützt"

#~ msgid "%s cannot be used in asm here"
#~ msgstr "%s kann nicht hier in »asm« verwendet werden"

#~ msgid "can't open %s: %m"
#~ msgstr "%s kann nicht geöffnet werden: %m"

#~ msgid "fix_sched_param: unknown param: %s"
#~ msgstr "fix_sched_param: unbekannter Parameter: %s"

#~ msgid "function cannot be inline"
#~ msgstr "Funktion kann nicht »inline« sein"

#~ msgid "varargs function cannot be inline"
#~ msgstr "Varargs-Funktion kann nicht »inline« sein"

#~ msgid "function using alloca cannot be inline"
#~ msgstr "alloca benutzende Funktion kann nicht »inline« sein"

#~ msgid "function using longjmp cannot be inline"
#~ msgstr "longjmp benutzende Funktion kann nicht »inline« sein"

#~ msgid "function using setjmp cannot be inline"
#~ msgstr "setjmp benutzende Funktion kann nicht »inline« sein"

#~ msgid "function uses __builtin_eh_return"
#~ msgstr "Funktion verwendet __builtin_eh_return"

#~ msgid "function with nested functions cannot be inline"
#~ msgstr "Funktion mit geschachtelten Funktionen kann nicht »inline« sein"

#~ msgid "function with label addresses used in initializers cannot inline"
#~ msgstr "Funktion mit Markenadressen in Initialisierungen kann nicht »inline« sein"

#~ msgid "function too large to be inline"
#~ msgstr "Funktion zu groß um »inline« sein zu können"

#~ msgid "no prototype, and parameter address used; cannot be inline"
#~ msgstr "kein Prototyp, und Parameteradresse verwendet; kann nicht »inline« sein"

#~ msgid "inline functions not supported for this return value type"
#~ msgstr "»inline«-Funktionen für diesen Rückgabetyp nicht unterstützt"

#~ msgid "function with varying-size return value cannot be inline"
#~ msgstr "Funktion mit Rückgabetyp variabler Größe kann nicht »inline« sein"

#~ msgid "function with varying-size parameter cannot be inline"
#~ msgstr "Funktion mit Parameter variabler Größe kann nicht »inline« sein"

#~ msgid "function with transparent unit parameter cannot be inline"
#~ msgstr "Funktion mit transparentem Einheiten-Parameter kann nicht »inline« sein"

#~ msgid "function with computed jump cannot inline"
#~ msgstr "Funktion mit berechnetem Sprung kann nicht »inline« sein"

#~ msgid "function with nonlocal goto cannot be inline"
#~ msgstr "Funktion mit nichtlokalem Goto kann nicht »inline« sein"

#~ msgid "function with target specific attribute(s) cannot be inlined"
#~ msgstr "Funktion mit zielspezifischen Attributen kann nicht »inline« sein"

#~ msgid "%Hwill never be executed"
#~ msgstr "%Hwird niemals ausgeführt"

#~ msgid "This switch lacks documentation"
#~ msgstr "Dieser Schalter ist undokumentiert"

#~ msgid "command line option \"%s\" is valid for %s but not for %s"
#~ msgstr "Kommandozeilenoption \"%s\" ist gültig für %s, aber nicht für %s"

#~ msgid "missing argument to \"%s\""
#~ msgstr "fehlendes Argument für »%s«"

#~ msgid "argument to \"%s\" should be a non-negative integer"
#~ msgstr "Argument von »%s« sollte eine nicht-negative Ganzzahl sein"

#~ msgid "unrecognized command line option \"%s\""
#~ msgstr "nicht erkannte Kommandozeilenoption »%s«"

#~ msgid "-Wuninitialized is not supported without -O"
#~ msgstr "-Wuninitialized wird nicht ohne -O unterstützt"

#~ msgid "unrecognized register name \"%s\""
#~ msgstr "unbekannter Registername: \"%s\""

#~ msgid "unknown tls-model \"%s\""
#~ msgstr "unbekanntes tls-Modell »%s«"

#~ msgid "-fwritable-strings is deprecated; see documentation for details"
#~ msgstr "-fwritable-strings veraltet, schauen Sie in die Dokumentation für Details"

#~ msgid "%s: --param arguments should be of the form NAME=VALUE"
#~ msgstr "%s: »--param«-Argumente sollten von der Form NAME=VALUE sein"

#~ msgid "invalid --param value `%s'"
#~ msgstr "ungültiger Wert für --param: »%s«"

#~ msgid "target system does not support debug output"
#~ msgstr "Zielsystem unterstützt nicht Testausgaben"

#~ msgid "debug format \"%s\" conflicts with prior selection"
#~ msgstr "Testformat »%s« steht in Konflikt mit vorheriger Auswahl"

#~ msgid "unrecognised debug output level \"%s\""
#~ msgstr "Testausgabestufe »%s« nicht erkannt"

#~ msgid "debug output level %s is too high"
#~ msgstr "Testausgabestufe »%s« ist zu groß"

#~ msgid "The following options are language-independent:\n"
#~ msgstr "Die folgenden Optionen sind sprach-unabhängig:\n"

#~ msgid ""
#~ "The %s front end recognizes the following options:\n"
#~ "\n"
#~ msgstr ""
#~ "Das %s-Frontend erkennt die folgenden Optionen:\n"
#~ "\n"

#~ msgid "The --param option recognizes the following as parameters:\n"
#~ msgstr "Die Option »--param« erkennt die folgenden Parameter:\n"

#~ msgid "invalid parameter `%s'"
#~ msgstr "ungültiger Parameter »%s«"

#~ msgid "corrupted profile info: run_max * runs < sum_max"
#~ msgstr "beschädigte Profilinformation: run_max * runs < sum_max"

#~ msgid "corrupted profile info: sum_all is smaller than sum_max"
#~ msgstr "beschädigte Profilinformation: sum_all ist kleiner als sum_max"

#~ msgid "corrupted profile info: edge from %i to %i exceeds maximal count"
#~ msgstr "Info zum beschädigten Profil: Kante von %i nach %i überschreitet Höchstzahl"

#~ msgid "corrupted profile info: number of iterations for basic block %d thought to be %i"
#~ msgstr "Info zum beschädigten Profil: Anzahl der Durchläufe des Basisblocks %d sollte %i sein"

#~ msgid "corrupted profile info: number of executions for edge %d-%d thought to be %i"
#~ msgstr "Info zum beschädigten Profil: Anzahl der Ausführungen der Kante »%d-%d« sollte %i sein"

#~ msgid "%s: internal abort\n"
#~ msgstr "%s: interner Abbruch\n"

#~ msgid "%s: error writing file `%s': %s\n"
#~ msgstr "%s: Fehler beim Schreiben der Datei »%s«: %s\n"

#~ msgid "%s: usage '%s [ -VqfnkN ] [ -i <istring> ] [ filename ... ]'\n"
#~ msgstr "%s: Aufruf '%s [ -VqfnkN ] [ -i <istring> ] [ Dateiname ... ]'\n"

#~ msgid "%s: usage '%s [ -VqfnkNlgC ] [ -B <dirname> ] [ filename ... ]'\n"
#~ msgstr "%s: Aufruf '%s [ -VqfnkNlgC ] [ -B <VerzName> ] [ Dateiname ... ]'\n"

#~ msgid "%s: warning: no read access for file `%s'\n"
#~ msgstr "%s: Warnung: kein Leserecht für Datei »%s«\n"

#~ msgid "%s: warning: no write access for file `%s'\n"
#~ msgstr "%s: Warnung: kein Schreibrecht für Datei »%s«\n"

#~ msgid "%s: warning: no write access for dir containing `%s'\n"
#~ msgstr "%s: Warnung: kein Schreibrecht für Verzeichnis von »%s«\n"

#~ msgid "%s: invalid file name: %s\n"
#~ msgstr "%s: ungültiger Dateiname: %s\n"

#~ msgid "%s: %s: can't get status: %s\n"
#~ msgstr "%s: %s: kann Status nicht ermitteln: %s\n"

#~ msgid ""
#~ "\n"
#~ "%s: fatal error: aux info file corrupted at line %d\n"
#~ msgstr ""
#~ "\n"
#~ "%s: kritischer Fehler: Datei mit Hilfsinformationen beschädigt in Zeile %d\n"

#~ msgid "%s:%d: declaration of function `%s' takes different forms\n"
#~ msgstr "%s:%d: Deklaration der Funktion »%s« nimmt verschiedene Formen an\n"

#~ msgid "%s: compiling `%s'\n"
#~ msgstr "%s: »%s« wird kompiliert\n"

#~ msgid "%s: wait: %s\n"
#~ msgstr "%s: warten: %s\n"

#~ msgid "%s: subprocess got fatal signal %d\n"
#~ msgstr "%s: Subprozess empfing kritischen Fehler %d\n"

#~ msgid "%s: %s exited with status %d\n"
#~ msgstr "%s: %s beendet mit Status %d\n"

#~ msgid "%s: warning: missing SYSCALLS file `%s'\n"
#~ msgstr "%s: Warnung: SYSCALLS-Datei »%s« fehlt\n"

#~ msgid "%s: can't read aux info file `%s': %s\n"
#~ msgstr "%s: Datei mit Hilfsinformationen »%s« kann nicht gelesen werden: %s\n"

#~ msgid "%s: can't get status of aux info file `%s': %s\n"
#~ msgstr "%s: Status der Datei mit Hilfsinformationen »%s« kann nicht ermittelt werden: %s\n"

#~ msgid "%s: can't open aux info file `%s' for reading: %s\n"
#~ msgstr "%s: Datei mit Hilfsinformationen »%s« kann nicht zum Lesen geöffnet werden: %s\n"

#~ msgid "%s: error reading aux info file `%s': %s\n"
#~ msgstr "%s: Fehler beim Lesen der Datei mit Hilfsinformationen »%s«: %s\n"

#~ msgid "%s: error closing aux info file `%s': %s\n"
#~ msgstr "%s: Fehler beim Schließen der Datei mit Hilfsinformationen »%s«: %s\n"

#~ msgid "%s: can't delete aux info file `%s': %s\n"
#~ msgstr "%s: Fehler beim Löschen der Datei mit Hilfsinformationen »%s«: %s\n"

#~ msgid "%s: can't delete file `%s': %s\n"
#~ msgstr "%s: Fehler beim Löschen der Datei »%s«: %s\n"

#~ msgid "%s: warning: can't rename file `%s' to `%s': %s\n"
#~ msgstr "%s: Warnung: Fehler beim Umbenennen der Datei »%s« in »%s«: %s\n"

#~ msgid "%s: conflicting extern definitions of '%s'\n"
#~ msgstr "%s: externe Definitionen von »%s« stehen in Konflikt\n"

#~ msgid "%s: declarations of '%s' will not be converted\n"
#~ msgstr "%s: Deklarationen von »%s« werden nicht konvertiert\n"

#~ msgid "%s: conflict list for '%s' follows:\n"
#~ msgstr "%s: Konfliktliste für »%s« folgt:\n"

#~ msgid "%s: warning: using formals list from %s(%d) for function `%s'\n"
#~ msgstr "%s: Warnung: Formalliste von %s(%d) für Funktion »%s« verwendet\n"

#~ msgid "%s: %d: `%s' used but missing from SYSCALLS\n"
#~ msgstr "%s: %d: »%s« verwendet, fehlt jedoch in SYSCALLS\n"

#~ msgid "%s: %d: warning: no extern definition for `%s'\n"
#~ msgstr "%s: %d: Warnung: keine externe Definition für »%s«\n"

#~ msgid "%s: warning: no static definition for `%s' in file `%s'\n"
#~ msgstr "%s: Warnung: keine statische Definition für »%s« in Datei »%s«\n"

#~ msgid "%s: multiple static defs of `%s' in file `%s'\n"
#~ msgstr "%s: mehrere statische Definitionen von »%s« in Datei »%s«\n"

#~ msgid "%s: %d: warning: source too confusing\n"
#~ msgstr "%s: %d: Warnung: Quelle zu verworren\n"

#~ msgid "%s: %d: warning: varargs function declaration not converted\n"
#~ msgstr "%s: %d: Warnung: Funktionsdeklaration mit variablen Argumenten nicht konvertiert\n"

#~ msgid "%s: declaration of function `%s' not converted\n"
#~ msgstr "%s: Deklaration der Funktion »%s« nicht konvertiert\n"

#~ msgid "%s: warning: too many parameter lists in declaration of `%s'\n"
#~ msgstr "%s: Warnung: zu viele Parameterlisten in Deklaration von »%s«\n"

#~ msgid ""
#~ "\n"
#~ "%s: warning: too few parameter lists in declaration of `%s'\n"
#~ msgstr ""
#~ "\n"
#~ "%s: Warnung: zu wenige Parameterlisten in Deklaration von »%s«\n"

#~ msgid "%s: %d: warning: found `%s' but expected `%s'\n"
#~ msgstr "%s: %d: Warnung: »%s« gefunden, aber »%s« erwartet\n"

#~ msgid "%s: local declaration for function `%s' not inserted\n"
#~ msgstr "%s: lokale Deklaration für Funktion »%s« nicht eingefügt\n"

#~ msgid ""
#~ "\n"
#~ "%s: %d: warning: can't add declaration of `%s' into macro call\n"
#~ msgstr ""
#~ "\n"
#~ "%s: %d: Warnung: kann Deklaration von »%s« nicht zu Makro-Aufruf hinzufügen\n"

#~ msgid "%s: global declarations for file `%s' not inserted\n"
#~ msgstr "%s: globale Deklarationen für Datei »%s« wurden nicht eingefügt\n"

#~ msgid "%s: definition of function `%s' not converted\n"
#~ msgstr "%s: Definition der Funktion »%s« nicht konvertiert\n"

#~ msgid "%s: %d: warning: definition of %s not converted\n"
#~ msgstr "%s: %d: Warnung: Definition von %s nicht konvertiert\n"

#~ msgid "%s: found definition of `%s' at %s(%d)\n"
#~ msgstr "%s: Definition von »%s« an Stelle %s(%d) gefunden\n"

#~ msgid "%s: %d: warning: `%s' excluded by preprocessing\n"
#~ msgstr "%s: %d: Warnung: »%s« durch Präprozessor ausgeschlossen\n"

#~ msgid "%s: function definition not converted\n"
#~ msgstr "%s: Funktionsdefinition nicht konvertiert\n"

#~ msgid "%s: `%s' not converted\n"
#~ msgstr "%s: »%s« nicht konvertiert\n"

#~ msgid "%s: would convert file `%s'\n"
#~ msgstr "%s: würde Datei »%s« konvertieren\n"

#~ msgid "%s: converting file `%s'\n"
#~ msgstr "%s: Datei »%s« wird konvertiert\n"

#~ msgid "%s: can't get status for file `%s': %s\n"
#~ msgstr "%s: Status der Datei »%s« kann nicht ermittelt werden: %s\n"

#~ msgid "%s: can't open file `%s' for reading: %s\n"
#~ msgstr "%s: Datei »%s« kann nicht zum Schreiben geöffnet werden: %s\n"

#~ msgid ""
#~ "\n"
#~ "%s: error reading input file `%s': %s\n"
#~ msgstr ""
#~ "\n"
#~ "%s: Fehler beim Lesen der Eingabedatei »%s«: %s\n"

#~ msgid "%s: can't create/open clean file `%s': %s\n"
#~ msgstr "%s: die leere Datei »%s« kann nicht erzeugt oder geöffnet werden: %s\n"

#~ msgid "%s: warning: file `%s' already saved in `%s'\n"
#~ msgstr "%s: Warnung: Datei »%s« bereits in »%s« gesichert\n"

#~ msgid "%s: can't link file `%s' to `%s': %s\n"
#~ msgstr "%s: die Datei »%s« kann nicht mit »%s« verbunden werden (Link): %s\n"

#~ msgid "%s: can't create/open output file `%s': %s\n"
#~ msgstr "%s: die Ausgabedatei »%s« kann nicht erzeugt oder geöffnet werden: %s\n"

#~ msgid "%s: can't change mode of file `%s': %s\n"
#~ msgstr "%s: Rechte der Datei »%s« können nicht geändert werden: %s\n"

#~ msgid "%s: cannot get working directory: %s\n"
#~ msgstr "%s: aktuelles Verzeichnis kann nicht ermittelt werden: %s\n"

#~ msgid "%s: input file names must have .c suffixes: %s\n"
#~ msgstr "%s: Namen der Eingabedateien müssen Suffix ».c« haben: %s\n"

#~ msgid "Didn't find a coloring.\n"
#~ msgstr "Färbung konnte nicht gefunden werden.\n"

#~ msgid "output constraint %d must specify a single register"
#~ msgstr "Ausgabebedingung %d muss ein einzelnes Register angeben"

#~ msgid "output constraint %d cannot be specified together with \"%s\" clobber"
#~ msgstr "Ausgabebedingung %d kann nicht zusammen mit »%s« angegeben werden"

#~ msgid "output regs must be grouped at top of stack"
#~ msgstr "Ausgaberegister müssen oben auf dem Stack gruppiert werden"

#~ msgid "implicitly popped regs must be grouped at top of stack"
#~ msgstr "implizit geholte (»pop«) Register müssen oben auf dem Stack gruppiert werden"

#~ msgid "output operand %d must use `&' constraint"
#~ msgstr "Ausgabeoperand %d muss »&«-Bedingung benutzen"

#~ msgid "can't use '%s' as a %s register"
#~ msgstr "»%s« kann nicht als ein %s-Register verwendet werden"

#~ msgid "unknown register name: %s"
#~ msgstr "unbekannter Registername: %s"

#~ msgid "global register variable follows a function definition"
#~ msgstr "globale Registervariable folgt einer Funktionsdefinition"

#~ msgid "register used for two global register variables"
#~ msgstr "Register für zwei globale Registervariablen verwendet"

#~ msgid "call-clobbered register used for global register variable"
#~ msgstr "für Ruf vorgesehenes Register wurde für globale Registervariable verwendet"

#~ msgid "validate_value_data: [%u] Bad next_regno for empty chain (%u)"
#~ msgstr "validate_value_data: [%u] Falsches next_regno für leere Kette (%u)"

#~ msgid "validate_value_data: Loop in regno chain (%u)"
#~ msgstr "validate_value_data: Zyklus in regno-Kette (%u)"

#~ msgid "validate_value_data: [%u] Bad oldest_regno (%u)"
#~ msgstr "validate_value_data: [%u] Falsches oldest_regno (%u)"

#~ msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
#~ msgstr "validate_value_data: [%u] Nicht leeres Register in Kette (%s %u %i)"

#~ msgid "cannot reload integer constant operand in `asm'"
#~ msgstr "Ganzzahlkonstantenoperand kann in »asm« nicht neu geladen werden"

#~ msgid "impossible register constraint in `asm'"
#~ msgstr "unmögliche Registerbedingung in »asm«"

#~ msgid "`&' constraint used with no register class"
#~ msgstr "»&«-Bedingung ohne Registerklasse verwendet"

#~ msgid "unable to generate reloads for:"
#~ msgstr "Neuladungen konnten nicht generiert werden für:"

#~ msgid "inconsistent operand constraints in an `asm'"
#~ msgstr "inkonsistente Operandenbedingungen in einem »asm«"

#~ msgid "frame size too large for reliable stack checking"
#~ msgstr "Rahmengröße zu groß für zuverlässige Kellerüberprüfung"

#~ msgid "try reducing the number of local variables"
#~ msgstr "versuchen Sie, die Anzahl der lokalen Variablen zu verringern"

#~ msgid "can't find a register in class `%s' while reloading `asm'"
#~ msgstr "in der Klasse »%s« konnte während des Neuladens von »asm« kein Register gefunden werden"

#~ msgid "unable to find a register to spill in class `%s'"
#~ msgstr "in Klasse »%s« konnte kein Register für Überlauf gefunden werden"

#~ msgid "this is the insn:"
#~ msgstr "dies ist das insn:"

#~ msgid "`asm' operand requires impossible reload"
#~ msgstr "»asm«-Operand erfordert unmögliches Neuladen"

#~ msgid "could not find a spill register"
#~ msgstr "es konnte kein Überlaufregister gefunden werden"

#~ msgid "`asm' operand constraint incompatible with operand size"
#~ msgstr "»asm«-Operandenbedingung inkompatibel mit Operandengröße"

#~ msgid "VOIDmode on an output"
#~ msgstr "VOIDmode bei einer Ausgabe"

#~ msgid "output operand is constant in `asm'"
#~ msgstr "Ausgabeoperand ist in »asm« konstant"

#~ msgid "unrecognizable insn:"
#~ msgstr "unerkennbares insn:"

#~ msgid "insn does not satisfy its constraints:"
#~ msgstr "insn erfüllt nicht seine Bedingungen:"

#~ msgid "RTL check: access of elt %d of `%s' with last elt %d in %s, at %s:%d"
#~ msgstr "RTL-Überprüfung: Zugriff von Elt %d von »%s« mit letztem Elt %d in %s, bei %s:%d"

#~ msgid "RTL check: expected elt %d type '%c', have '%c' (rtx %s) in %s, at %s:%d"
#~ msgstr "RTL-Überprüfung: Elt-%d-Typ %c erwartet, haben Typ %c (rtx %s) in %s, bei %s:%d"

#~ msgid "RTL check: expected elt %d type '%c' or '%c', have '%c' (rtx %s) in %s, at %s:%d"
#~ msgstr "RTL-Überprüfung: Elt-%d-Typ %c oder %c erwartet, haben Typ %c (rtx %s) in %s, bei %s:%d"

#~ msgid "RTL check: expected code `%s', have `%s' in %s, at %s:%d"
#~ msgstr "RTL-Überprüfung: Code »%s« erwartet, haben »%s« in %s, bei %s:%d"

#~ msgid "RTL check: expected code `%s' or `%s', have `%s' in %s, at %s:%d"
#~ msgstr "RTL-Überprüfung: Code »%s« oder »%s« erwartet, haben »%s« in %s, bei %s:%d"

#~ msgid "RTL check: access of elt %d of vector with last elt %d in %s, at %s:%d"
#~ msgstr "RTL-Überprüfung: Zugriff von Elt %d von Vektor mit letztem Elt %d in %s, bei %s:%d"

#~ msgid "RTL flag check: %s used with unexpected rtx code `%s' in %s, at %s:%d"
#~ msgstr "RTL-Kennzeichenüberprüfung: %s mit unerwartetem RTX-Code »%s« in %s bei %s:%d verwendet"

#~ msgid "jump to `%s' invalidly jumps into binding contour"
#~ msgstr "Sprung zu »%s« springt ungültig in bindenden Querschnitt"

#~ msgid "%Jlabel '%D' used before containing binding contour"
#~ msgstr "%JMarke »%D« verwendet vor enthaltendem bindenden Querschnitt"

#~ msgid "output operand constraint lacks `='"
#~ msgstr "Bedingung des Ausgabeoperanden erfordert »=«"

#~ msgid "output constraint `%c' for operand %d is not at the beginning"
#~ msgstr "Ausgabebedingung »%c« für Operand %d steht nicht am Anfang"

#~ msgid "operand constraint contains incorrectly positioned '+' or '='"
#~ msgstr "Operandenbedingung enthält falsch positioniertes »+« oder »=«"

#~ msgid "`%%' constraint used with last operand"
#~ msgstr "»%%«-Bedingung mit letztem Operanden verwendet"

#~ msgid "matching constraint not valid in output operand"
#~ msgstr "dazu passende Bedingung in Ausgabeoperanden ungültig"

#~ msgid "read-write constraint does not allow a register"
#~ msgstr "Schreib- und Lesebeschränkungen erlauben kein Register"

#~ msgid "input operand constraint contains `%c'"
#~ msgstr "Bedingung für Eingabeoperanden enthält »%c«"

#~ msgid "matching constraint references invalid operand number"
#~ msgstr "dazu passende Bedingung referenziert ungültige Operandennummer"

#~ msgid "invalid punctuation `%c' in constraint"
#~ msgstr "ungültiges Zeichen »%c« in Bedingung"

#~ msgid "matching constraint does not allow a register"
#~ msgstr "dazu passende Bedingung erlaubt kein Register"

#~ msgid "asm-specifier for variable `%s' conflicts with asm clobber list"
#~ msgstr "asm-Spezifizierer für Variable »%s« steht in Konflikt mit asm-Konflikt-Liste"

#~ msgid "unknown register name `%s' in `asm'"
#~ msgstr "unbekannter Registername »%s« in »asm«"

#~ msgid "PIC register `%s' clobbered in `asm'"
#~ msgstr "PIC-Register »%s« wird in »asm« zerstört"

#~ msgid "more than %d operands in `asm'"
#~ msgstr "mehr als %d Operanden in »asm«"

#~ msgid "output number %d not directly addressable"
#~ msgstr "Ausgabezahl %d nicht direkt adressierbar"

#~ msgid "asm operand %d probably doesn't match constraints"
#~ msgstr "asm-Operand %d passt wahrscheinlich nicht zu den Bedingungen"

#~ msgid "use of memory input without lvalue in asm operand %d is deprecated"
#~ msgstr "die Verwendung einer Speichereingabe ohne L-Wert in asm-Operand %d ist veraltet"

#~ msgid "asm clobber conflict with output operand"
#~ msgstr "asm-Konflikt mit Ausgabeoperand"

#~ msgid "asm clobber conflict with input operand"
#~ msgstr "asm-Konflikt mit Eingabeoperand"

#~ msgid "too many alternatives in `asm'"
#~ msgstr "zu viele Alternativen in »asm«"

#~ msgid "operand constraints for `asm' differ in number of alternatives"
#~ msgstr "Operandenbedingungen für »asm« unterscheiden sich in der Anzahl der Alternativen"

#~ msgid "duplicate asm operand name '%s'"
#~ msgstr "doppelter asm-Operandenname »%s«"

#~ msgid "missing close brace for named operand"
#~ msgstr "schließende geschweifte Klammer für benannten Operanden fehlt"

#~ msgid "undefined named operand '%s'"
#~ msgstr "benannter Operand »%s« ist nicht definiert"

#~ msgid "%Hstatement with no effect"
#~ msgstr "%HAnweisung ohne Effekt"

#~ msgid "%Hvalue computed is not used"
#~ msgstr "%Hberechneter Wert ist unbenutzt"

#~ msgid "%Junused variable '%D'"
#~ msgstr "%JVariable »%D« wird nicht verwendet"

#~ msgid "%Hunreachable code at beginning of %s"
#~ msgstr "%Hunerreichbarer Code am Anfang von %s"

#~ msgid "enumeration value `%s' not handled in switch"
#~ msgstr "Aufzählungswert »%s« wird nicht von switch behandelt"

#~ msgid "case value `%ld' not in enumerated type"
#~ msgstr "case-Wert »%ld« nicht in Aufzählungstyp"

#~ msgid "case value `%ld' not in enumerated type `%s'"
#~ msgstr "case-Wert »%ld« nicht in Aufzählungstyp »%s«"

#~ msgid "switch missing default case"
#~ msgstr "die Standardfallbehandlung in switch fehlt"

#~ msgid "type size can't be explicitly evaluated"
#~ msgstr "die Typgröße kann nicht explizit ausgewertet werden"

#~ msgid "variable-size type declared outside of any function"
#~ msgstr "Typ mit variabler Größe wurde außerhalb einer Funktion definiert"

#~ msgid "%Jsize of '%D' is %d bytes"
#~ msgstr "%JGröße von »%Ds« ist %d Bytes"

#~ msgid "%Jsize of '%D' is larger than %d bytes"
#~ msgstr "%JGröße von »%D« übertrifft %d Bytes"

#~ msgid "%Jpacked attribute causes inefficient alignment for '%D'"
#~ msgstr "%Jgepacktes Attribut verursacht ineffiziente Ausrichtung für »%D«"

#~ msgid "%Jpacked attribute is unnecessary for '%D'"
#~ msgstr "%Jgepacktes Attribut ist unnötig für »%D«"

#~ msgid "%Jpadding struct to align '%D'"
#~ msgstr "%Jstruct wird aufgefüllt, um »%D« auszurichten"

#~ msgid "padding struct size to alignment boundary"
#~ msgstr "struct wird bis zur Ausrichtungsgrenze aufgefüllt"

#~ msgid "packed attribute causes inefficient alignment for `%s'"
#~ msgstr "gepacktes Attribut verursacht ineffiziente Ausrichtung für »%s«"

#~ msgid "packed attribute is unnecessary for `%s'"
#~ msgstr "gepacktes Attribut ist unnötig für »%s«"

#~ msgid "packed attribute causes inefficient alignment"
#~ msgstr "gepacktes Attribut führt zu ineffizienter Ausrichtung"

#~ msgid "packed attribute is unnecessary"
#~ msgstr "gepacktes Attribut ist unnötig"

#~ msgid "__builtin_saveregs not supported by this target"
#~ msgstr "__builtin_saveregs wird von diesem Ziel nicht unterstützt"

#~ msgid "cannot timevar_pop '%s' when top of timevars stack is '%s'"
#~ msgstr "timevar_pop '%s' kann nicht ausgeführt werden, wenn am Anfang des timevars-Stacks '%s' steht"

#~ msgid ""
#~ "\n"
#~ "Execution times (seconds)\n"
#~ msgstr ""
#~ "\n"
#~ "Ausführungszeiten (Sekunden)\n"

#~ msgid " TOTAL                 :"
#~ msgstr " GESAMT                :"

#~ msgid "time in %s: %ld.%06ld (%ld%%)\n"
#~ msgstr "Zeit in %s: %ld.%06ld (%ld%%)\n"

#~ msgid "collect: reading %s\n"
#~ msgstr "sammeln: %s lesen\n"

#~ msgid "collect: recompiling %s\n"
#~ msgstr "sammeln: %s neu kompilieren\n"

#~ msgid "collect: tweaking %s in %s\n"
#~ msgstr "sammeln: %s wird in %s eingestellt\n"

#~ msgid "collect: relinking\n"
#~ msgstr "sammeln: neu binden\n"

#~ msgid "ld returned %d exit status"
#~ msgstr "ld gab %d als Ende-Status zurück"

#~ msgid "%s "
#~ msgstr "%s "

#~ msgid " %s"
#~ msgstr " %s"

#~ msgid "invalid option argument `%s'"
#~ msgstr "ungültiges Optionsargument »%s«"

#~ msgid "getting core file size maximum limit: %m"
#~ msgstr "Kern-Dateigrößenlimit wird geholt: %m"

#~ msgid "setting core file size limit to maximum: %m"
#~ msgstr "Kern-Dateigrößenlimit wird gesetzt: %m"

#~ msgid "%J'%F' used but never defined"
#~ msgstr "%J»%F« verwendet, aber nirgendwo definiert"

#~ msgid "%J'%F' declared `static' but never defined"
#~ msgstr "%J»%F« als »static« deklariert, aber nirgendwo definiert"

#~ msgid "%J'%D' defined but not used"
#~ msgstr "%J»%D« definiert, aber nicht verwendet"

#~ msgid "`%s' is deprecated (declared at %s:%d)"
#~ msgstr "»%s« ist veraltet (deklariert bei %s:%d)"

#~ msgid "`%s' is deprecated"
#~ msgstr "»%s« ist veraltet"

#~ msgid "type is deprecated (declared at %s:%d)"
#~ msgstr "Typ ist veraltet (in %s:%d deklariert)"

#~ msgid "type is deprecated"
#~ msgstr "Typ ist veraltet"

#~ msgid "invalid register name `%s' for register variable"
#~ msgstr "ungültiger Registername »%s« für Registervariable"

#~ msgid "branch target register load optimization is not intended to be run twice"
#~ msgstr "Ladeoptimierung für Zweig-Zielregister ist nicht dafür vorgesehen, mehrfach zu laufen"

#~ msgid ""
#~ "\n"
#~ "Target specific options:\n"
#~ msgstr ""
#~ "\n"
#~ "Zielspezifische Optionen:\n"

#~ msgid "  -m%-23s [undocumented]\n"
#~ msgstr "  -m%-23s [undokumentiert]\n"

#~ msgid ""
#~ "\n"
#~ "There are undocumented target specific options as well.\n"
#~ msgstr ""
#~ "\n"
#~ "Es gibt auch undokumentierte zielspezifische Optionen.\n"

#~ msgid "  They exist, but they are not documented.\n"
#~ msgstr "  Es gibt sie, aber sie sind nicht dokumentiert.\n"

#~ msgid "unrecognized gcc debugging option: %c"
#~ msgstr "gcc-Debuggingoption nicht erkannt: %c"

#~ msgid "invalid option `%s'"
#~ msgstr "ungültige Option »%s«"

#~ msgid ""
#~ "%s%s%s version %s (%s)\n"
#~ "%s\tcompiled by GNU C version %s.\n"
#~ "%s%s%s version %s (%s) compiled by CC.\n"
#~ msgstr ""
#~ "%s%s%s Version %s (%s)\n"
#~ "%s\tkompiliert von GNU-C-Version %s.\n"
#~ "%s%s%s Version %s (%s) kompiliert von CC.\n"

#~ msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
#~ msgstr "%s%sGGC-Heuristik: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"

#~ msgid "options passed: "
#~ msgstr "angegebene Optionen: "

#~ msgid "options enabled: "
#~ msgstr "angeschaltete Optionen: "

#~ msgid "can't open %s for writing: %m"
#~ msgstr "Datei »%s« kann nicht zum Schreiben geöffnet werden: %m"

#~ msgid "created and used with different settings of -fpic"
#~ msgstr "erzeugt und mit anderen Einstellungen von -fpic verwendet"

#~ msgid "created and used with different settings of -fpie"
#~ msgstr "erzeugt und mit anderen Einstellungen von -fpie verwendet"

#~ msgid "created and used with differing settings of `-m%s'"
#~ msgstr "erzeugt und mit anderen Einstellungen von »-m%s« verwendet"

#~ msgid "out of memory"
#~ msgstr "Platz im Hauptspeicher reicht nicht aus"

#~ msgid "instruction scheduling not supported on this target machine"
#~ msgstr "Befehlsplanung wird von dieser Zielmaschine nicht unterstützt"

#~ msgid "this target machine does not have delayed branches"
#~ msgstr "diese Zielmaschine hat keine verzögerten Zweige"

#~ msgid "-f%sleading-underscore not supported on this target machine"
#~ msgstr "-f%sleading-underscore wird auf dieser Zielmaschine nicht unterstützt"

#~ msgid "target system does not support the \"%s\" debug format"
#~ msgstr "Zielsystem unterstützt nicht das Testformat \"%s\""

#~ msgid "-ffunction-sections not supported for this target"
#~ msgstr "-ffunction-sections wird für dieses Ziel nicht unterstützt"

#~ msgid "-fdata-sections not supported for this target"
#~ msgstr "-fdata-sections wird für dieses Ziel nicht unterstützt"

#~ msgid "-ffunction-sections disabled; it makes profiling impossible"
#~ msgstr "-ffunction-sections ausgeschaltet; das macht Profiling unmöglich"

#~ msgid "-fprefetch-loop-arrays not supported for this target"
#~ msgstr "-fprefetch-loop-arrays wird für dieses Ziel nicht unterstützt"

#~ msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
#~ msgstr "-fprefetch-loop-arrays wird für dieses Ziel nicht unterstützt (versuchen Sie die »-march«-Schalter)"

#~ msgid "-fprefetch-loop-arrays is not supported with -Os"
#~ msgstr "-fprefetch-loop-arrays wird nicht mit -Os unterstützt"

#~ msgid "-ffunction-sections may affect debugging on some targets"
#~ msgstr "-ffunction-sections kann für verschiedene Ziele die Fehlersuche beeinträchtigen"

#~ msgid "error writing to %s: %m"
#~ msgstr "Fehler beim Schreiben der Datei %s: %m"

#~ msgid "error closing %s: %m"
#~ msgstr "Fehler beim Schließen von %s: %m"

#~ msgid "could not open dump file `%s'"
#~ msgstr "Abzugsdatei »%s« konnte nicht geöffnet werden"

#~ msgid "ignoring unknown option `%.*s' in `-fdump-%s'"
#~ msgstr "unbekannte Option »%.*s« in »-fdump-%s« wird ignoriert"

#~ msgid "%Jfunction '%F' can never be inlined because it uses alloca (override using the always_inline attribute)"
#~ msgstr "%Jdie Funktion »%F« kann nie »inline« sein, da sie alloca verwendet (zum Aufheben: Attribut »always_inline« verwenden)"

#~ msgid "%Jfunction '%F' can never be inlined because it uses setjmp"
#~ msgstr "%Jdie Funktion »%F« kann nie »inline« sein, da sie setjmp verwendet"

#~ msgid "%Jfunction '%F' can never be inlined because it uses variable argument lists"
#~ msgstr "%Jdie Funktion »%F« kann nie »inline« sein, da sie eine variable Argumentliste verwendet"

#~ msgid "%Jfunction '%F' can never be inlined because it uses setjmp-longjmp exception handling"
#~ msgstr "%Jdie Funktion »%F« kann nie »inline« sein, da sie »setjmp-longjmp«-Ausnahmebehandlung verwendet"

#~ msgid "%Jfunction '%F' can never be inlined because it contains a nested function"
#~ msgstr "%Jdie Funktion »%F« kann nie »inline« sein, da sie eine geschachtelte Funktion enthält"

#~ msgid "%Jfunction '%F' can never be inlined because it contains a computed goto"
#~ msgstr "%Jdie Funktion »%F« kann nie »inline« sein, da sie ein berechnetes »goto« enthält"

#~ msgid "%Jfunction '%F' can never be inlined because it contains a nonlocal goto"
#~ msgstr "%Jdie Funktion »%F« kann nie »inline« sein, da sie ein nichtlokales »goto« enthält"

#~ msgid "%Jfunction '%F' can never be inlined because it uses variable sized variables"
#~ msgstr "%Jdie Funktion »%F« kann nie »inline« sein, da sie Variablen variabler Größe verwendet"

#~ msgid "%Jinlining failed in call to '%F': %s"
#~ msgstr "%J»inline« beim Aufruf von »%F« gescheitert: %s"

#~ msgid "%Jsize of return value of '%D' is %u bytes"
#~ msgstr "%JGröße des Rückgabewertes von »%D« ist %u Bytes"

#~ msgid "%Jsize of return value of '%D' is larger than %wd bytes"
#~ msgstr "%JGröße des Rückgabewertes von »%D« ist größer als %wd Bytes"

#~ msgid "arrays of functions are not meaningful"
#~ msgstr "Felder von Funktionen sind sinnlos"

#~ msgid "function return type cannot be function"
#~ msgstr "Rückgabetyp der Funktion kann keine Funktion sein"

#~ msgid "invalid initializer for bit string"
#~ msgstr "ungültige Initialisierung für Bitstring"

#~ msgid "tree check: expected %s, have %s in %s, at %s:%d"
#~ msgstr "Baumprüfung: %s erwartet, haben %s in %s, bei %s:%d"

#~ msgid "tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d"
#~ msgstr "Baumprüfung: Klasse %c erwartet, haben '%c' (%s) in %s, bei %s:%d"

#~ msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
#~ msgstr "Baumprüfung: auf Elt %d von tree_vec mit %d Elts in %s bei %s:%d zugegriffen"

#~ msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
#~ msgstr "Baumprüfung: auf Operand %d von %s mit %d Operanden in %s bei %s:%d zugegriffen"

#~ msgid "%J%D causes a section type conflict"
#~ msgstr "%J%D löst einen Abschnittstypkonflikt aus"

#~ msgid "%Jregister name not specified for '%D'"
#~ msgstr "%Jfür »%D« wurde kein Registername angegeben"

#~ msgid "%Jinvalid register name for '%D'"
#~ msgstr "%Jungültiger Registername für »%D«"

#~ msgid "%Jdata type of '%D' isn't suitable for a register"
#~ msgstr "%JDatentyp von »%D« eignet sich nicht für Register"

#~ msgid "%Jregister specified for '%D' isn't suitable for data type"
#~ msgstr "%Jfür »%D« angegebenes Register eignet sich nicht für Datentyp"

#~ msgid "global register variable has initial value"
#~ msgstr "globle Registervariable hat Anfangswert"

#~ msgid "volatile register variables don't work as you might wish"
#~ msgstr "»volatile«-Registervariablen funktionieren oft nicht so wie erhofft"

#~ msgid "%Jregister name given for non-register variable '%D'"
#~ msgstr "%JRegistername für Nicht-Registervariable »%D« verwendet"

#~ msgid "%Jstorage size of `%D' isn't known"
#~ msgstr "%JSpeichergröße von »%D« ist unbekannt"

#~ msgid "%Jalignment of '%D' is greater than maximum object file alignment.  Using %d"
#~ msgstr "%JAusrichtung von »%D ist größer als maximale Objektdateiausrichtung. %d verwendet«"

#~ msgid "thread-local COMMON data not implemented"
#~ msgstr "Thread-lokale COMMON-Daten nicht implementiert"

#~ msgid "%Jrequested alignment for '%D' is greater than implemented alignment of %d"
#~ msgstr "%Jangeforderte Ausrichtung für »%D« ist größer als die implementierte Ausrichtung von %d"

#~ msgid "initializer for integer value is too complicated"
#~ msgstr "Initialisierung für Ganzzahlwert ist zu kompliziert"

#~ msgid "initializer for floating value is not a floating constant"
#~ msgstr "Initialisierung für Gleitkommawert ist keine Gleitkommakonstante"

#~ msgid "unknown set constructor type"
#~ msgstr "unbekannter Mengenkonstruktortyp"

#~ msgid "invalid initial value for member `%s'"
#~ msgstr "ungültiger Anfangswert für Element »%s«"

#~ msgid "%Jweak declaration of '%D' must precede definition"
#~ msgstr "%Jschwache Deklaration von »%D« muss der Definition vorangehen"

#~ msgid "%Jweak declaration of '%D' after first use results in unspecified behavior"
#~ msgstr "%Jschwache Deklaration von »%D« nach erster Benutzung führt zu undefiniertem Verhalten"

#~ msgid "%Jweak declaration of '%D' must be public"
#~ msgstr "%Jschwache Deklaration von »%D« muss öffentlich sein"

#~ msgid "%Jweak declaration of '%D' not supported"
#~ msgstr "%Jschwache Deklaration von »%D« wird nicht unterstützt"

#~ msgid "only weak aliases are supported in this configuration"
#~ msgstr "in dieser Konfiguration werden nur schwache Aliase unterstützt"

#~ msgid "alias definitions not supported in this configuration; ignored"
#~ msgstr "Alias-Definitionen werden in dieser Konfiguration nicht unterstützt; ignoriert"

#~ msgid "visibility attribute not supported in this configuration; ignored"
#~ msgstr "Sichtbarkeitsattribute werden in dieser Konfiguration nicht unterstützt; ignoriert"

#~ msgid "virtual array %s[%lu]: element %lu out of bounds in %s, at %s:%d"
#~ msgstr "virtuelles Feld %s[%lu]: Element %lu außerhalb der Grenzen in %s, bei %s:%d"

#~ msgid "underflowed virtual array %s in %s, at %s:%d"
#~ msgstr "Unterlauf im virtuellen Feld %s in %s bei %s:%d"

#~ msgid "no sclass for %s stab (0x%x)\n"
#~ msgstr "kein »sclass« für %s Stab (0x%x)\n"

#~ msgid "fatal error: "
#~ msgstr "schwerwiegender Fehler: "

#~ msgid "internal compiler error: "
#~ msgstr "interner Compiler-Fehler: "

#~ msgid "sorry, unimplemented: "
#~ msgstr "nicht implementiert: "

#~ msgid "anachronism: "
#~ msgstr "Anachronismus: "

#~ msgid "note: "
#~ msgstr "Anmerkung: "

#~ msgid "debug: "
#~ msgstr "zur Fehlersuche: "

#~ msgid "The maximum number of instructions in a single function eligible for inlining"
#~ msgstr "Die Höchstzahl der Anweisungen in einer einzelnen für »inline« geeigneten Funktion"

#~ msgid "The maximum number of instructions when automatically inlining"
#~ msgstr "Die Höchstzahl der Anweisungen für automatisches »inline«"

#~ msgid "The maximum number of instructions for the RTL inliner"
#~ msgstr "Die Höchstzahl der Anweisungen für RTL »inline«"

#~ msgid "The maximum number of instructions to consider to fill a delay slot"
#~ msgstr "Die Höchstzahl der zu betrachtenden Anweisungen um Verzögerungsschlitz zu füllen"

#~ msgid "The maximum number of instructions to consider to find accurate live register information"
#~ msgstr "Die Höchstzahl der zu betrachtenden Anweisungen um richtige aktive Registerinformationen zu finden"

#~ msgid "The maximum length of scheduling's pending operations list"
#~ msgstr "Die Maximallänge der Liste der anhängigen geplanten Operationen"

#~ msgid "The size of function body to be considered large"
#~ msgstr "Die Größe eines als groß angesehenen Funktionskörpers"

#~ msgid "Maximal growth due to inlining of large function (in percent)"
#~ msgstr "Maximales Wachstum durch »inline« einer großen Funktion (in Prozent)"

#~ msgid "how much can given compilation unit grow because of the inlining (in percent)"
#~ msgstr "um wie viel eine Übersetzungseinheit durch »inline« wachsen kann (in Prozent)"

#~ msgid "The maximum amount of memory to be allocated by GCSE"
#~ msgstr "Maximalbetrag des von GCSE zu belegenden Speichers"

#~ msgid "The maximum number of passes to make when doing GCSE"
#~ msgstr "Die Höchstzahl der Durchläufe für GCSE"

#~ msgid "The maximum number of instructions to consider to unroll in a loop"
#~ msgstr "Die Höchstzahl der zum Aufrollen von Schleifen zu betrachtenden Anweisungen"

#~ msgid "The maximum number of instructions to consider to unroll in a loop on average"
#~ msgstr "Die Höchstzahl der zum Aufrollen von Schleifen im Mittel zu betrachtenden Anweisungen"

#~ msgid "The maximum number of unrollings of a single loop"
#~ msgstr "Die Höchstzahl der Iterationen zum Aufrollen in einzelner Schleife"

#~ msgid "The maximum number of insns of a peeled loop"
#~ msgstr "Die Höchstzahl der insns einer geschälten Schleife"

#~ msgid "The maximum number of peelings of a single loop"
#~ msgstr "Die Höchstzahl der Schälvorgänge einer einzelnen Schleife"

#~ msgid "The maximum number of insns of a completely peeled loop"
#~ msgstr "Die Höchstzahl der insns einer vollständig geschälten Schleife"

#~ msgid "The maximum number of peelings of a single loop that is peeled completely"
#~ msgstr "Die Höchstzahl der Schälvorgänge einer einzelnen Schleife, die vollständig geschält wird"

#~ msgid "The maximum number of insns of a peeled loop that rolls only once"
#~ msgstr "Die Höchstzahl der insns einer geschälten Schleife, die nur einmal rollt"

#~ msgid "`%s' incompatible attribute ignored"
#~ msgstr "»%s«-inkompatibles Attribut wird ignoriert"

#~ msgid "%Jfunction `%D' definition is marked dllimport."
#~ msgstr "%JFunktionsdefinition von »%D« ist als »dllimport« markiert"

#~ msgid "%Jinline function '%D' is declared as dllimport: attribute ignored."
#~ msgstr "%J»inline«-Funktion »%D« ist als »dllimport« deklariert: Attribute ignoriert."

#~ msgid "ms-bitfields not supported for objc"
#~ msgstr "ms-Bitfelder nicht unterstützt für objc"

#~ msgid "%Jan address area attribute cannot be specified for local variables"
#~ msgstr "%Jfür lokale Variablen kann kein Adressabschnittsattribut angegeben werden"

#~ msgid "%Jaddress area of '%s' conflicts with previous declaration"
#~ msgstr "%JAdressabschnitt von »%s« in Konflikt mit vorheriger Deklaration"

#~ msgid "%Jaddress area attribute cannot be specified for functions"
#~ msgstr "%JAdressabschnittsattribut kann nicht für Funktionen angegeben werden"

#~ msgid "The compiler does not support -march=%s."
#~ msgstr "Der Compiler unterstützt nicht -march=%s."

#~ msgid "argument `%d' is not a constant"
#~ msgstr "Argument »%d« ist keine Konstante"

#~ msgid "`trap' attribute is already used"
#~ msgstr "»trap«-Attribut wird bereits verwendet"

#~ msgid "cannot specify both -msep-data and -mid-shared-library"
#~ msgstr "-msep-data und -mid-shared-library können nicht zusammen angegeben werden"

#~ msgid "Generate code for a 68040, without any new instructions"
#~ msgstr "Code für einen 68040 ohne neue Befehle erzeugen"

#~ msgid "Generate code for a 68060, without any new instructions"
#~ msgstr "Code für einen 68060 ohne neue Befehle erzeugen"

#~ msgid "Generate code for a 68030"
#~ msgstr "Code für einen 68030 erzeugen"

#~ msgid "Generate code for a 68040"
#~ msgstr "Code für einen 68040 erzeugen"

#~ msgid "Generate code for a 68060"
#~ msgstr "Code für einen 68060 erzeugen"

#~ msgid "Generate code for a 520X"
#~ msgstr "Code für einen 520X erzeugen"

#~ msgid "Generate code for a 5206e"
#~ msgstr "Code für einen 5206e erzeugen"

#~ msgid "Generate code for a 528x"
#~ msgstr "Code für einen 528x erzeugen"

#~ msgid "Generate code for a 5307"
#~ msgstr "Code für einen 5307 erzeugen"

#~ msgid "Generate code for a 5407"
#~ msgstr "Code für einen 5407 erzeugen"

#~ msgid "Generate code for a 68851"
#~ msgstr "Code für einen 68851 erzeugen"

#~ msgid "Do no generate code for a 68851"
#~ msgstr "Code für einen 68851 erzeugen"

#~ msgid "Generate code for a 68302"
#~ msgstr "Code für einen 68302 erzeugen"

#~ msgid "Generate code for a 68332"
#~ msgstr "Code für einen 68332 erzeugen"

#~ msgid "Generate code for a cpu32"
#~ msgstr "Code für eine cpu32 erzeugen"

#~ msgid "can't rewind temp file: %m"
#~ msgstr "temporäre Datei konnte nicht zurückgesetzt werden: %m"

#~ msgid "can't write to output file: %m"
#~ msgstr "in die Ausgabedatei kann nicht geschrieben werden: %m"

#~ msgid "can't read from temp file: %m"
#~ msgstr "von der temporären Datei kann nicht gelesen werden: %m"

#~ msgid "can't close temp file: %m"
#~ msgstr "die temporäre Datei kann nicht geschlossen werden: %m"

#~ msgid "-fpic is not supported; -fPIC assumed"
#~ msgstr "-fpic wird nicht unterstützt; -fPIC angenommen"

#~ msgid "-m%s not supported in this configuration"
#~ msgstr "-m%s wird in dieser Konfiguration nicht unterstützt"

#~ msgid "%Jdata area attributes cannot be specified for local variables"
#~ msgstr "%JDatenabschnittsattribute können nicht für lokale Variablen angegeben werden"

#~ msgid "%Jdata area of '%D' conflicts with previous declaration"
#~ msgstr "%JDatenabschnitt von »%D« in Konflikt mit vorheriger Deklaration"

#~ msgid "invalid %%x value"
#~ msgstr "ungültiger %%x-Wert"

#~ msgid "invalid %%d value"
#~ msgstr "ungültiger %%x-Wert"

#~ msgid "invalid %%t/%%b value"
#~ msgstr "ungültiger %%t/%%b-Wert"

#~ msgid "missing argument to \"-%s\""
#~ msgstr "fehlendes Argument für »-%s«"

#~ msgid "%s for '%s' in '%s %E'"
#~ msgstr "%s vor »%s« in »%s %E«"

#~ msgid "no suitable `operator %s' for `%T'"
#~ msgstr "kein geeigneter »operator %s« für »%T«"

#~ msgid "cannot bind bitfield `%E' to `%T'"
#~ msgstr "das Bitfeld »%E« kann nicht mit »%T« verbunden werden"

#~ msgid "cannot bind packed field `%E' to `%T'"
#~ msgstr "das gepackte Feld »%E« kann nicht mit »%T« verbunden werden"

#~ msgid "cannot bind rvalue `%E' to `%T'"
#~ msgstr "der R-Wert »%E« kann nicht mit »%T« verbunden werden"

#~ msgid "%s has no effect"
#~ msgstr "%s hat keinen Effekt"

#~ msgid "%Jfunction '%D' redeclared as inline"
#~ msgstr "%JFunktion »%D« als inline redeklariert"

#~ msgid "%Jprevious declaration of '%D' with attribute noinline"
#~ msgstr "%Jvorherige Deklaration von »%D« mit Attribut noinline"

#~ msgid "%Jfunction '%D' redeclared with attribute noinline"
#~ msgstr "%JFunktion »%D« redeklariert mit Attribut noinline"

#~ msgid "%Jprevious declaration of '%D' was inline"
#~ msgstr "%Jvorherige Deklaration von »%D« war inline"

#~ msgid "conflicting declaration '%#D'"
#~ msgstr "in Konflikt stehende Deklaration »%#D«"

#~ msgid "'%D' has a previous declaration as `%#D'"
#~ msgstr "»%D« hat eine vorherige Deklaration als »%#Ds«"

#~ msgid "%Jfollows non-prototype definition here"
#~ msgstr "%Jfolgt Nicht-Prototyp-Definition hier"

#~ msgid "%Jprevious non-inline declaration here"
#~ msgstr "%Jvorherige nicht-inline-Deklaration hier"

#~ msgid "%Jconflicts with previous declaration here"
#~ msgstr "%Jin Konflikt mit vorheriger Deklaration hier"

#~ msgid "%H  from here"
#~ msgstr "%H  von hier"

#~ msgid "too many initializers for `%T'"
#~ msgstr "zu viele Initialisierer für »%T«"

#~ msgid "size of array `%D' has non-integral type `%T'"
#~ msgstr "Feldgröße von »%D« hat Nicht-Ganzzahltyp »%T«"

#~ msgid "size of array has non-integral type `%T'"
#~ msgstr "Feldgröße hat Nicht-Ganzzahltyp »%T«"

#~ msgid "declaration of `%D' as %s"
#~ msgstr "Deklaration von »%D« als %s"

#~ msgid "creating %s"
#~ msgstr "Erzeugen von %s"

#~ msgid "top-level declaration of `%s' specifies `auto'"
#~ msgstr "Deklaration höchster Ebene von »%s« spezifiziert »auto«"

#~ msgid "%Jinvalid type qualifier for non-member function type"
#~ msgstr "%Jungültiger Typkennzeichner für Nicht-Element-Funktionstyp"

#~ msgid "%Jprevious definition here"
#~ msgstr "%Jvorherige Definition hier"

#~ msgid "invalid member function declaration"
#~ msgstr "ungültige Elementfunktionsdeklaration"

#~ msgid "anonymous union with no members"
#~ msgstr "anonymes union ohne Element"

#~ msgid "inline function `%D' used but never defined"
#~ msgstr "inline-Funktion »%D«, aber nirgendwo definiert"

#~ msgid "  when initialized here"
#~ msgstr "  während es hier initialisiert wurde"

#~ msgid "`%#D' is not a non-static data member of `%T'"
#~ msgstr "»%#D« ist kein Nicht-static-Datenelement von »%T«"

#~ msgid "invalid use of non-static member function `%D'"
#~ msgstr "ungültige Verwendung der Nicht-static-Elementfunktion »%D«"

#~ msgid "invalid use of non-static data member `%D'"
#~ msgstr "ungültige Verwendung des Nicht-static-Datenelementes »%D«"

#~ msgid "type mismatch with previous external decl of `%#D'"
#~ msgstr "Typen passen nicht zu vorheriger externer Deklaration von »%#D«"

#~ msgid "%s %s %p %d\n"
#~ msgstr "%s %s %p %d\n"

#~ msgid "`%D' attribute directive ignored"
#~ msgstr "Attribut-Anweisung »%D« wird ignoriert"

#~ msgid "invalid token"
#~ msgstr "ungültiges Token"

#~ msgid "`%D::%D' has not been declared"
#~ msgstr "»%D::%D« wurde nicht deklariert"

#~ msgid "`::%D' has not been declared"
#~ msgstr "»::%D« wurde nicht deklariert"

#~ msgid "`%D' has not been declared"
#~ msgstr "»%D« wurde nicht deklariert"

#~ msgid "`%D' %s"
#~ msgstr "»%D« %s"

#~ msgid "`%s' is not a template"
#~ msgstr "»%s« ist kein Template"

#~ msgid "invalid template-id"
#~ msgstr "ungültige Template-ID"

#~ msgid "%s cannot appear in a constant-expression"
#~ msgstr "%s kann nicht in einem Konstanten-Ausdruck auftreten"

#~ msgid "`%s' does not name a type"
#~ msgstr "»%s« bezeichnet keinen Typ"

#~ msgid "statement-expressions are allowed only inside functions"
#~ msgstr "Anweisungs-Ausdrücke sind nur innerhalb von Funktionen erlaubt"

#~ msgid "ISO C++ forbids compound-literals"
#~ msgstr "ISO-C++ verbietet zusammengesetzte Literale"

#~ msgid "duplicate `friend'"
#~ msgstr "doppeltes »friend«"

#~ msgid "attributes are not allowed on a function-definition"
#~ msgstr "bei einer Funktionsdefinition sind keine Attribute erlaubt"

#~ msgid "attributes after parenthesized initializer ignored"
#~ msgstr "Attribute hinter geklammerter Initialisierung werden ignoriert"

#~ msgid "friend declaration does not name a class or function"
#~ msgstr "»friend«-Deklaration benennt keine Klasse oder Funktion"

#~ msgid "invalid function declaration"
#~ msgstr "ungültige Funktionsdeklaration"

#~ msgid "named return values are no longer supported"
#~ msgstr "benannte Rückgabewerte werden nicht mehr unterstützt"

#~ msgid "%D redeclared with different access"
#~ msgstr "%D mit anderem Zugriff redeklariert"

#~ msgid "destructor `%D' declared as member template"
#~ msgstr "Destruktor »%D« als Element-Template deklariert"

#~ msgid "%J  original definition appeared here"
#~ msgstr "%J  ursprüngliche Definition trat hier auf"

#~ msgid "`%T' uses anonymous type"
#~ msgstr "»%T« verwendet anonymen Typen"

#~ msgid "`%T' uses local type `%T'"
#~ msgstr "»%T« verwendet lokalen Typen »%T«"

#~ msgid "integral expression `%E' is not constant"
#~ msgstr "Integralausdruck »%E« ist nicht konstant"

#~ msgid "object missing in reference to `%D'"
#~ msgstr "Objekt fehlt in Referenz auf »%D«"

#~ msgid "`%D' is not a member of `%D'"
#~ msgstr "»%D« ist kein Element von »%D«"

#~ msgid "`%D' cannot appear in a constant-expression"
#~ msgstr "»%D« kann nicht in Konstanten-Ausdruck auftreten"

#~ msgid "%s between distinct pointer-to-member types `%T' and `%T' lacks a cast"
#~ msgstr "%s zwischen verschiedenen Zeiger-auf-Element-Typen »%T« und »%T« fehlt eine Typkonvertierung"

#~ msgid "invalid application of `%s' to a bit-field"
#~ msgstr "ungültige Anwendung von »%s« auf ein Bitfeld"

#~ msgid "ISO C++ forbids applying `%s' to an expression of function type"
#~ msgstr "ISO-C++ verbietet Anwendung von »%s« auf einen Ausdruck mit Funktionstyp"

#~ msgid "invalid use of non-static member function"
#~ msgstr "falsche Benutzung einer nicht-statischen Elementfunktion"

#~ msgid "invalid use of nonstatic data member '%E'"
#~ msgstr "ungültige Benutzung des nicht-statischen Datenelements »%E«"

#~ msgid "parameter %P of `%D' has incomplete type `%T'"
#~ msgstr "Parameter %P von »%D« hat unvollständigen Typen »%T«"

#~ msgid "parameter %P has incomplete type `%T'"
#~ msgstr "Parameter %P hat unvollständigen Typen »%T«"

#~ msgid "%s expression list treated as compound expression"
#~ msgstr "%s Ausdrucksliste als zusammengesetzten Ausdruck behandelt"

#~ msgid "pointer to member cast via virtual base `%T'"
#~ msgstr "Typumwandlung von Zeiger in Element über virtuelle Basis »%T«"

#~ msgid "pointer to member conversion via virtual base `%T'"
#~ msgstr "Konvertierung von Zeiger in Element über virtuelle Basis »%T«"

#~ msgid "return-statement with no value, in function returning '%T'"
#~ msgstr "Return-Anweisung ohne Wert, in »%T« zurückgebender Funktion"

#~ msgid "return-statement with a value, in function returning 'void'"
#~ msgstr "Return-Anweisung mit Wert in »void« zurückgebender Funktion"

#~ msgid "Please keep this in mind before you report bugs."
#~ msgstr "Bitte bedenken Sie dies, wenn Sie einen Fehlerbericht einsenden."

#~ msgid "%Jfinal field '%D' may not have been initialized"
#~ msgstr "%Jletztes Feld »%D« könnte nicht initialisiert worden sein"

#~ msgid "%J'%D' used prior to declaration"
#~ msgstr "%J»%D« bereits vor Deklaration benutzt"

#~ msgid "declaration of `%s' shadows a parameter"
#~ msgstr "Deklaration von »%s« überdeckt einen Parameter"

#~ msgid "declaration of `%s' shadows a symbol from the parameter list"
#~ msgstr "Deklaration von »%s« überdeckt ein Symbol aus der Parameterliste"

#~ msgid "%Jlabel '%D' used but not defined"
#~ msgstr "%JMarke »%D« verwendet, aber nicht definiert"

#~ msgid "%Jlabel '%D' defined but not used"
#~ msgstr "%JMarke »%D« definiert, aber nicht verwendet"

#~ msgid "can't reopen %s: %m"
#~ msgstr "Es ist nicht möglich, »%s« erneut zu öffnen: %m"

#~ msgid "can't close %s: %m"
#~ msgstr "Es ist nicht möglich, »%s« zu schließen: %m"

#~ msgid "can't close input file %s: %m"
#~ msgstr "die Eingabedatei »%s« kann nicht geschlossen werden: %m"

#~ msgid "can't create directory %s: %m"
#~ msgstr "das Verzeichnis %s kann nicht erzeugt werden: %m"

#~ msgid "can't create %s: %m"
#~ msgstr "Es ist nicht möglich, %s zu erzeugen: %m"

#~ msgid "`%s' is not a valid class name"
#~ msgstr "»%s« ist kein gültiger Klassenname"

#~ msgid "--resource requires -o"
#~ msgstr "--resource erfordert -o"

#~ msgid "cannot specify both -C and -o"
#~ msgstr "-C und -o können nicht zusammen angegeben werden"

#~ msgid "cannot create temporary file"
#~ msgstr "temporäre Datei konnte nicht angelegt werden"

#~ msgid "interface `%s' does not have valid constant string layout"
#~ msgstr "die Schnittstelle »%s« hat nicht die Form einer konstanten Zeichenkette"

#~ msgid "`%s' is not an Objective-C class name or alias"
#~ msgstr "»%s« ist kein Klassenname oder Alias in Objective-C"

#~ msgid "`%s' redeclared as different kind of symbol"
#~ msgstr "»%s« redeklariert als andere Symbolart"

#~ msgid "%J%s `%s'"
#~ msgstr "%J%s: »%s«"

#~ msgid "multiple %s named `%c%s' found"
#~ msgstr "mehrere %s namens »%c%s« gefunden"

#~ msgid "no super class declared in @interface for `%s'"
#~ msgstr "keine Superklasse im @interface für »%s« deklariert"

#~ msgid "`%s' may not respond to `%c%s'"
#~ msgstr "»%s« antwortet möglicherweise nicht auf »%c%s«"

#~ msgid "`%c%s' not implemented by protocol(s)"
#~ msgstr "»%c%s« nicht von Protokoll(en) implementiert"

#~ msgid "`...' as arguments.)"
#~ msgstr "»...« als Argumente.)"

#~ msgid "duplicate declaration of method `%c%s'"
#~ msgstr "doppelte Deklaration der Methode »%c%s«"

#~ msgid "illegal reference type specified for instance variable `%s'"
#~ msgstr "unzulässiger Referenztyp für Instanzvariable »%s« angegeben"

#~ msgid "instance variable `%s' has unknown size"
#~ msgstr "Instanzvariable »%s« hat unbekannte Größe"

#~ msgid "type `%s' has virtual member functions"
#~ msgstr "der Typ »%s« hat virtuelle Elementfunktionen"

#~ msgid "illegal aggregate type `%s' specified for instance variable `%s'"
#~ msgstr "unzulässiger Aggregattyp »%s« für Instanzvariable »%s« angegeben"

#~ msgid "%s `%s' does not fully implement the `%s' protocol"
#~ msgstr "%s »%s« implementiert das »%s«-Protokoll nicht vollständig"

#~ msgid "previous declaration of `%s'"
#~ msgstr "vorherige Deklaration von »%s«"

#~ msgid "Display this information"
#~ msgstr "Diese Informationen anzeigen"

#~ msgid "Do not discard comments"
#~ msgstr "Kommentare nicht verwerfen"

#~ msgid "Warn about subscripts whose type is \"char\""
#~ msgstr "Vor Indizes mit Typ \"char\" warnen"

#~ msgid "Make implicit function declarations an error"
#~ msgstr "Fehler bei impliziten Funktionsdeklaration erzeugen"

#~ msgid "Warn if passing too many arguments to a function for its format string"
#~ msgstr "Bei zu vielen Argumenten für eine Funktion (anhand Formatzeichenkette) warnen"

#~ msgid "Warn about suspicious declarations of \"main\""
#~ msgstr "Vor verdächtigen Deklarationen von \"main\" warnen"

#~ msgid "Warn about global functions without previous declarations"
#~ msgstr "Vor globalen Funktionen ohne vorherige Deklaration warnen"

#~ msgid "Warn about functions which might be candidates for __attribute__((noreturn))"
#~ msgstr "Vor Funktionen, die Kandidaten für __attribute__((noreturn)) sind, warnen"

#~ msgid "Warn about use of multi-character character constants"
#~ msgstr "Bei Verwendung von Zeichenkonstanten mit mehreren Zeichen warnen"

#~ msgid "Warn about \"extern\" declarations not at file scope"
#~ msgstr "Vor \"extern\"-Deklarationen außerhalb des Dateisichtbarkeitsbereiches warnen"

#~ msgid "Warn about code which might break strict aliasing rules"
#~ msgstr "Vor Code warnen, der strict-aliasing-Regeln verletzen könnte"

#~ msgid "Warn about unprototyped function declarations"
#~ msgstr "Vor Funktionsdeklarationen ohne Prototyp warnen"

#~ msgid "Warn about features not present in traditional C"
#~ msgstr "Vor Sprachmerkmalen, die in traditionellem C nicht verfügbar sind, warnen"

#~ msgid "Recognize built-in functions"
#~ msgstr "Eingebaute Funktionen erkennen"

#~ msgid "Preserve case used in program"
#~ msgstr "Im Programm verwendete Groß-/Kleinschreibung beibehalten"

#~ msgid "Inline member functions by default"
#~ msgstr "Standardmäßig »inline«-Elementfunktionen"

#~ msgid "Permit '$' as an identifier character"
#~ msgstr "'$' als Bezeichnerzeichen zulassen"

#~ msgid "Generate code to check exception specifications"
#~ msgstr "Code zur Überprüfung von Exception-Spezifikationen erzeugen"

#~ msgid "Place each function into its own section"
#~ msgstr "Jede Funktion in ihren eigenen Abschnitt platzieren"

#~ msgid "Generate code for GNU runtime environment"
#~ msgstr "Code für die GNU-Laufzeitumgebung erzeugen"

#~ msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
#~ msgstr "Code für die NeXT (Apple Mac OS X) Laufzeitumgebung erzeugen"

#~ msgid "Convert floating point constants to single precision constants"
#~ msgstr "Fließkommakonstanten in Konstanten einfacher Genauigkeit konvertieren"

#~ msgid "Print internal debugging-related information"
#~ msgstr "Interne Testinformationen ausgeben"

#~ msgid "Dump declarations to a .decl file"
#~ msgstr "Deklaration in .decl-Datei ausgeben"

#~ msgid "-o <file>\tPlace output into <file>"
#~ msgstr "-o <Datei>\tAusgabe in <Datei> schreiben"

#~ msgid "Generate C header of platform-specific features"
#~ msgstr "C-Header mit Plattform-spezifischen Merkmalen erzeugen"

#~ msgid "Remap file names when including files"
#~ msgstr "Dateinamen beim Einfügen von Dateien neu abbilden"

#~ msgid "GCC does not support -C or -CC without -E"
#~ msgstr "GCC unterstützt nicht -C oder -CC ohne -E"

#~ msgid "-pipe is not supported"
#~ msgstr "-pipe wird nicht unterstützt"

#~ msgid "-keep_private_externs not allowed with -dynamiclib"
#~ msgstr "-keep_private_externs ist mit -dynamiclib nicht erlaubt"

#~ msgid "-private_bundle not allowed with -dynamiclib"
#~ msgstr "-private_bundle ist mit -dynamiclib nicht erlaubt"

#~ msgid "-pg not supported on this platform"
#~ msgstr "-pg wird auf dieser Plattform nicht unterstützt"

#~ msgid "GCC does not support -C without using -E"
#~ msgstr "GCC unterstützt nicht -C ohne -E"

#~ msgid "GCC does not support -CC without using -E"
#~ msgstr "GCC unterstützt nicht -CC ohne -E"

#~ msgid "`-p' not supported; use `-pg' and gprof(1)"
#~ msgstr "»-p« wird nicht unterstützt; verwenden Sie »-pg« und gprof(1)"

#~ msgid "may not use both -m32 and -m64"
#~ msgstr "-m32 und -m64 können nicht zusammen angegeben werden"

#~ msgid "profiling not supported with -mg\n"
#~ msgstr "Profiling wird mit -mg nicht unterstützt\n"

#~ msgid "does not support multilib"
#~ msgstr "unterstützt nicht multilib"

#~ msgid "concatenation of string literals with __FUNCTION__ is deprecated"
#~ msgstr "Verkettung von Zeichenkettenliteralen mit __FUNCTION__ ist veraltet"

#~ msgid "ISO C++ forbids range expressions in switch statements"
#~ msgstr "ISO-C++ verbietet Wertebereichsausdrücke in switch-Anweisungen"

#~ msgid "ISO C++ forbids taking the address of a label"
#~ msgstr "ISO-C++ verbietet die Adresse einer Marke"

#~ msgid "declaration of `%s' shadows %s"
#~ msgstr "Deklaration von »%s« verdeckt %s"

#~ msgid "`struct %s' incomplete in scope ending here"
#~ msgstr "»struct %s« im Gültigkeitsbereich, der hier endet, unvollständig"

#~ msgid "`union %s' incomplete in scope ending here"
#~ msgstr "»union %s« im Gültigkeitsbereich, der hier endet, unvollständig"

#~ msgid "`enum %s' incomplete in scope ending here"
#~ msgstr "»enum %s« im Gültigkeitsbereich, der hier endet, unvollständig"

#~ msgid "shadowing library function `%s'"
#~ msgstr "Bibliotheksfunktion »%s« überdeckt"

#~ msgid "library function `%s' declared as non-function"
#~ msgstr "Bibliotheksfunktion »%s« als Nicht-Funktion deklariert"

#~ msgid "redeclaration of `%s'"
#~ msgstr "Redeklaration von »%s«"

#~ msgid "prototype for `%s' follows and number of arguments doesn't match"
#~ msgstr "Prototyp für »%s« folgt und Anzahl der Argumente passt nicht"

#~ msgid "prototype for `%s' follows and argument %d doesn't match"
#~ msgstr "Prototyp für »%s« folgt und Argument %d passt nicht"

#~ msgid "type qualifiers for `%s' conflict with previous decl"
#~ msgstr "Typ-Kennzeichner für »%s« stehen in Konflikt mit vorheriger Deklaration"

#~ msgid "a parameter"
#~ msgstr "ein Parameter"

#~ msgid "a previous local"
#~ msgstr "ein vorheriges »local«"

#~ msgid "a global declaration"
#~ msgstr "eine globale Deklaration"

#~ msgid "`%s' was declared implicitly `extern' and later `static'"
#~ msgstr "»%s« wurde implizit als »extern« und später als »static« deklariert"

#~ msgid "previous external decl of `%s'"
#~ msgstr "vorherige externe Deklaration von »%s«"

#~ msgid "type mismatch with previous implicit declaration"
#~ msgstr "Typen passen nicht zu vorheriger impliziter Deklaration"

#~ msgid "`%s' was previously implicitly declared to return `int'"
#~ msgstr "»%s« wurde bereits implizit deklariert, »int« zurückzugeben"

#~ msgid "`%s' was declared `extern' and later `static'"
#~ msgstr "»%s« wurde »extern« deklariert und später »static«"

#~ msgid "`%s' locally external but globally static"
#~ msgstr "»%s« ist lokal extern, aber global »static«"

#~ msgid "function `%s' was previously declared within a block"
#~ msgstr "Funktion »%s« wurde bereits innerhalb eines Blockes deklariert"

#~ msgid "declaration of `%s' has `extern' and is initialized"
#~ msgstr "Deklaration von »%s« hat »extern« und ist initialisiert"

#~ msgid "ISO C forbids parameter `%s' shadowing typedef"
#~ msgstr "ISO-C verbietet typedef verdeckenden Parameter »%s«"

#~ msgid "parameter `%s' points to incomplete type"
#~ msgstr "Parameter »%s« zeigt auf unvollständigen Typen"

#~ msgid "parameter points to incomplete type"
#~ msgstr "Parameter zeigt auf unvollständigen Typen"

#~ msgid "`void' in parameter list must be the entire list"
#~ msgstr "»void« in Parameterliste muss die gesamte Liste sein"

#~ msgid "`union %s' declared inside parameter list"
#~ msgstr "»union %s« innerhalb Parameterliste deklariert"

#~ msgid "`enum %s' declared inside parameter list"
#~ msgstr "»enum %s« innerhalb Parameterliste deklariert"

#~ msgid "anonymous enum declared inside parameter list"
#~ msgstr "anonymes »enum« innerhalb Parameterliste deklariert"

#~ msgid "bit-field `%s' type invalid in ISO C"
#~ msgstr "Typ des Bitfeldes »%s« ist ungültig in ISO-C"

#~ msgid "parm types given both in parmlist and separately"
#~ msgstr "Parametertypen sowohl in Parameterliste als auch separat angegeben"

#~ msgid "universal-character-name '\\u%04x' not valid in identifier"
#~ msgstr "universeller Zeichenname »\\u%04x« nicht gültig in Bezeichner"

#~ msgid "ignoring invalid multibyte character"
#~ msgstr "ungültiges Multibyte-Zeichen wird ignoriert"

#~ msgid "options array incorrectly sorted: %s is before %s"
#~ msgstr "Optionenliste falsch sortiert: %s kommt vor %s"

#~ msgid "-Wno-strict-prototypes is not supported in C++"
#~ msgstr "-Wno-strict-prototypes wird in C++ nicht unterstützt"

#~ msgid ""
#~ "Switches:\n"
#~ "  -include <file>           Include the contents of <file> before other files\n"
#~ "  -imacros <file>           Accept definition of macros in <file>\n"
#~ "  -iprefix <path>           Specify <path> as a prefix for next two options\n"
#~ "  -iwithprefix <dir>        Add <dir> to the end of the system include path\n"
#~ "  -iwithprefixbefore <dir>  Add <dir> to the end of the main include path\n"
#~ "  -isystem <dir>            Add <dir> to the start of the system include path\n"
#~ msgstr ""
#~ "Optionen:\n"
#~ "  -include <Datei>          Inhalt von <Datei> vor anderen Dateien einfügen\n"
#~ "  -imacros <Datei>          die Definition von Makros in <Datei> akzeptieren\n"
#~ "  -iprefix <Pfad>           <Pfad> als Präfix für die nächsten beiden Optionen\n"
#~ "                            angeben\n"
#~ "  -iwithprefix <Verz>       <Verz> zum Ende des System-Einfüge-Pfades\n"
#~ "                            hinzufügen\n"
#~ "  -iwithprefixbefore <Verz> <Verz> zum das Ende des Haupt-Einfüge-Pfades\n"
#~ "                            hinzufügen\n"
#~ "  -isystem <Verz>           <Verz> zum Anfang des System-Einfüge-Pfades\n"
#~ "                            hinzufügen\n"

#~ msgid ""
#~ "  -idirafter <dir>          Add <dir> to the end of the system include path\n"
#~ "  -I <dir>                  Add <dir> to the end of the main include path\n"
#~ "  -I-                       Fine-grained include path control; see info docs\n"
#~ "  -nostdinc                 Do not search system include directories\n"
#~ "                             (dirs specified with -isystem will still be used)\n"
#~ "  -nostdinc++               Do not search system include directories for C++\n"
#~ "  -o <file>                 Put output into <file>\n"
#~ msgstr ""
#~ "  -idirafter <Verz>         <Verz> zum Ende des System-Einfüge-Pfades\n"
#~ "                             hinzufügen\n"
#~ "  -I <Verz>                 <Verz> zum Anfang des Haupt-Einfüge-Pfades\n"
#~ "                             hinzufügen\n"
#~ "  -I-                       Feineinstellung des Einfügepfades; siehe info-\n"
#~ "                             Seiten\n"
#~ "  -nostdinc                 keine System-Einfüge-Verzeichnisse durchsuchen\n"
#~ "                             (-isystem Verzeichnisse werden aber verwendet)\n"
#~ "  -nostdinc++               keine System-Einfüge-Verzeichnisse nach C++\n"
#~ "                             durchsuchen\n"
#~ "  -o <Datei>                Ausgabe in <Datei> leiten\n"

#~ msgid ""
#~ "  -trigraphs                Support ISO C trigraphs\n"
#~ "  -std=<std name>           Specify the conformance standard; one of:\n"
#~ "                            gnu89, gnu99, c89, c99, iso9899:1990,\n"
#~ "                            iso9899:199409, iso9899:1999, c++98\n"
#~ "  -w                        Inhibit warning messages\n"
#~ "  -W[no-]trigraphs          Warn if trigraphs are encountered\n"
#~ "  -W[no-]comment{s}         Warn if one comment starts inside another\n"
#~ msgstr ""
#~ "  -trigraphs                ISO-C-»Trigraphs« unterstützen\n"
#~ "  -std=<Name>               Standardkonformität angeben; eines von:\n"
#~ "                             gnu89, gnu99, c89, c99, iso9899:1990,\n"
#~ "                             iso9899:199409, iso9899:1999, c++98\n"
#~ "  -w                        Warnungen unterdrücken\n"
#~ "  -W[no-]trigraphs          Warnungen bei »Trigraphs«\n"
#~ "  -W[no-]comment{s}         Warnungen bei geschachtelten Kommentaren\n"

#~ msgid ""
#~ "  -W[no-]traditional        Warn about features not present in traditional C\n"
#~ "  -W[no-]undef              Warn if an undefined macro is used by #if\n"
#~ "  -W[no-]import             Warn about the use of the #import directive\n"
#~ msgstr ""
#~ "  -W[no-]traditional        Warnungen bei Merkmalen von traditionellem C\n"
#~ "  -W[no-]undef              Warnungen bei Verwendung undefinierter Makros\n"
#~ "                             mit #if\n"
#~ "  -W[no-]import             Warnungen über die Verwendung der Direktive\n"
#~ "                             #import\n"

#~ msgid ""
#~ "  -W[no-]error              Treat all warnings as errors\n"
#~ "  -W[no-]system-headers     Do not suppress warnings from system headers\n"
#~ "  -W[no-]all                Enable most preprocessor warnings\n"
#~ msgstr ""
#~ "  -W[no-]error              alle Warnungen als Fehler behandeln\n"
#~ "  -W[no-]system-headers     keine Warnungen von System-Headern unterdrücken\n"
#~ "  -W[no-]all                die meisten Präprozessorwarnungen einschalten\n"

#~ msgid ""
#~ "  -M                        Generate make dependencies\n"
#~ "  -MM                       As -M, but ignore system header files\n"
#~ "  -MD                       Generate make dependencies and compile\n"
#~ "  -MMD                      As -MD, but ignore system header files\n"
#~ "  -MF <file>                Write dependency output to the given file\n"
#~ "  -MG                       Treat missing header file as generated files\n"
#~ msgstr ""
#~ "  -M                        make-Abhängigkeiten generieren\n"
#~ "  -MM                       wie -M, aber System-Header ignorieren\n"
#~ "  -MD                       make-Abhängigkeiten generieren und kompilieren\n"
#~ "  -MMD                      wie -MD, aber System-Header ignorieren\n"
#~ "  -MF <Datei>               Abhängigkeiten-Ausgabe in die angegebene Datei\n"
#~ "                             schreiben\n"
#~ "  -MG                       fehlende Header-Dateien als generierte Dateien\n"
#~ "                             behandeln\n"

#~ msgid ""
#~ "  -MP\t\t\t    Generate phony targets for all headers\n"
#~ "  -MQ <target>              Add a MAKE-quoted target\n"
#~ "  -MT <target>              Add an unquoted target\n"
#~ msgstr ""
#~ "  -MP\t\t\t    Generiere falsche (phony) Ziele für Header\n"
#~ "  -MQ <Ziel>                MAKE-zitiertes Ziel hinzufügen\n"
#~ "  -MT <Ziel>                ein unzitiertes Ziel hinzufügen\n"

#~ msgid ""
#~ "  -D<macro>                 Define a <macro> with string '1' as its value\n"
#~ "  -D<macro>=<val>           Define a <macro> with <val> as its value\n"
#~ "  -A<question>=<answer>     Assert the <answer> to <question>\n"
#~ "  -A-<question>=<answer>    Disable the <answer> to <question>\n"
#~ "  -U<macro>                 Undefine <macro> \n"
#~ "  -v                        Display the version number\n"
#~ msgstr ""
#~ "  -D<Makro>                 <Makro> mit Wert \"1\" definieren\n"
#~ "  -D<Makro>=<Wert>          <Makro> mit Wert <Wert> definieren\n"
#~ "  -A<Frage>=<Antwort>       die <Antwort> auf <Frage> annehmen\n"
#~ "  -A-<Frage>=<Antwort>      die <Antwort> auf <Frage> abschalten\n"
#~ "  -U<Makro>                 <Makro> löschen\n"
#~ "  -v                        Version anzeigen\n"

#~ msgid ""
#~ "  -H                        Print the name of header files as they are used\n"
#~ "  -C                        Do not discard comments\n"
#~ "  -dM                       Display a list of macro definitions active at end\n"
#~ "  -dD                       Preserve macro definitions in output\n"
#~ "  -dN                       As -dD except that only the names are preserved\n"
#~ "  -dI                       Include #include directives in the output\n"
#~ msgstr ""
#~ "  -H                        Namen von Header-Dateien anzeigen wenn sie\n"
#~ "                             verwendet werden\n"
#~ "  -C                        Kommentare nicht streichen\n"
#~ "  -dM                       am Ende eine Liste von Makrodefinitionen anzeigen\n"
#~ "  -dD                       Makrodefinitionen in der Ausgabe bewahren\n"
#~ "  -dN                       wie -dD nur dass die Namen bewahrt werden\n"
#~ "  -dI                       #include-Anweisungen in die Ausgabe einfügen\n"

#~ msgid ""
#~ "  -f[no-]preprocessed       Treat the input file as already preprocessed\n"
#~ "  -ftabstop=<number>        Distance between tab stops for column reporting\n"
#~ "  -P                        Do not generate #line directives\n"
#~ "  -remap                    Remap file names when including files\n"
#~ "  --help                    Display this information\n"
#~ msgstr ""
#~ "  -f[no-]preprocessed       Eingabedatei als bereits vorverarbeitet behandeln\n"
#~ "  -ftabstop=<Zahl>          Tabulatorenabstand für Spaltenmeldungen\n"
#~ "  -P                        keine #line-Direktiven generieren\n"
#~ "  -remap                    Dateinamen beim Einfügen neu abbilden\n"
#~ "  --help                    diese Information anzeigen\n"

#~ msgid "parse error"
#~ msgstr "Fehler beim Parsen"

#~ msgid "ISO C forbids the address of a cast expression"
#~ msgstr "ISO-C verbietet die Adresse eines cast-Ausdruckes"

#~ msgid "initializer for static variable is not constant"
#~ msgstr "Initialisierer für statische Variable ist nicht konstant"

#~ msgid "initializer for static variable uses complicated arithmetic"
#~ msgstr "Initialisierer für statische Variable verwendet komplizierte Arithmetik"

#~ msgid "aggregate initializer is not constant"
#~ msgstr "Gesamt-Initialisierer ist nicht konstant"

#~ msgid "aggregate initializer uses complicated arithmetic"
#~ msgstr "Gesamt-Initialisierer verwendet komplizierte Arithmetik"

#~ msgid "open %s"
#~ msgstr "öffne %s"

#~ msgid "incompatibilities between object file & expected values"
#~ msgstr "Inkompatibilitäten zwischen Objektdatei und erwarteten Werten"

#~ msgid ""
#~ "\n"
#~ "Processing symbol table #%d, offset = 0x%.8lx, kind = %s\n"
#~ msgstr ""
#~ "\n"
#~ "Verarbeite Symboltabelle #%d, Versatz = 0x%.8lx, Art = %s\n"

#~ msgid "string section missing"
#~ msgstr "Zeichenkettenabschnitt fehlt"

#~ msgid "section pointer missing"
#~ msgstr "Abschnittszeiger fehlt"

#~ msgid "no symbol table found"
#~ msgstr "keine Symboltabelle gefunden"

#~ msgid ""
#~ "\n"
#~ "Updating header and load commands.\n"
#~ "\n"
#~ msgstr ""
#~ "\n"
#~ "Aktualisiere Kopf und lokale Befehle.\n"
#~ "\n"

#~ msgid "load command map, %d cmds, new size %ld.\n"
#~ msgstr "lade Befehlstabelle, %d Befehle, neue Größe: %ld.\n"

#~ msgid ""
#~ "writing load commands.\n"
#~ "\n"
#~ msgstr ""
#~ "schreibe Ladebefehle.\n"
#~ "\n"

#~ msgid "close %s"
#~ msgstr "schließe %s"

#~ msgid "could not convert 0x%l.8x into a region"
#~ msgstr "konnte 0x%l.8x nicht in eine Region konvertieren"

#~ msgid "%s function, region %d, offset = %ld (0x%.8lx)\n"
#~ msgstr "Funktion %s, Region %d, Versatz = %ld (0x%.8lx)\n"

#~ msgid "bad magic number"
#~ msgstr "falsche magische Zahl"

#~ msgid "bad header version"
#~ msgstr "falsche Kopf-Version"

#~ msgid "bad raw header version"
#~ msgstr "falsche Version des Original-Kopfes"

#~ msgid "raw header buffer too small"
#~ msgstr "Original-Kopf-Puffer zu klein"

#~ msgid "old raw header file"
#~ msgstr "alte Original-Kopf-Datei"

#~ msgid "unsupported version"
#~ msgstr "nicht unterstützte Version"

#~ msgid "unknown {de,en}code_mach_o_hdr return value %d"
#~ msgstr "unbekannter Rückgabewert %d für {de,en}code_mach_o_hdr"

#~ msgid "fstat %s"
#~ msgstr "fstat %s"

#~ msgid "lseek %s 0"
#~ msgstr "lseek %s 0"

#~ msgid "read %s"
#~ msgstr "Lese %s"

#~ msgid "read %ld bytes, expected %ld, from %s"
#~ msgstr "%ld Bytes gelesen, %ld erwartet, von %s"

#~ msgid "msync %s"
#~ msgstr "msync %s"

#~ msgid "munmap %s"
#~ msgstr "munmap %s"

#~ msgid "write %s"
#~ msgstr "schreibe %s"

#~ msgid "wrote %ld bytes, expected %ld, to %s"
#~ msgstr "%ld Bytes geschrieben, %ld erwartet, nach %s"

#~ msgid "ISO C++ does not permit \"%s\" in #if"
#~ msgstr "ISO-C++ lässt nicht »%s« in #if zu"

#~ msgid "invalid character '%c' in #if"
#~ msgstr "ungültiges Zeichen '%c' in #if"

#~ msgid "invalid character '\\%03o' in #if"
#~ msgstr "ungültiges Zeichen '\\%03o' in #if"

#~ msgid "absolute file name in remap_filename"
#~ msgstr "absoluter Dateiname in remap_filename"

#~ msgid "%s: Not a directory"
#~ msgstr "%s: Kein Verzeichnis"

#~ msgid "directory name missing after %s"
#~ msgstr "Verzeichnisname fehlt hinter %s"

#~ msgid "file name missing after %s"
#~ msgstr "Dateiname fehlt hinter %s"

#~ msgid "path name missing after %s"
#~ msgstr "Pfadname fehlt hinter %s"

#~ msgid "unknown string token %s\n"
#~ msgstr "Unbekanntes Zeichenketten-Token %s\n"

#~ msgid "non-hex digit '%c' in universal-character-name"
#~ msgstr "Nicht-Hex-Ziffer '%c' in Universal-Zeichen-Name"

#~ msgid "universal-character-name on EBCDIC target"
#~ msgstr "Universal-Zeichen-Name auf EBCDIC Ziel"

#~ msgid "universal-character-name out of range"
#~ msgstr "Universal-Zeichen-Name außerhalb des Wertebereiches"

#~ msgid "escape sequence out of range for its type"
#~ msgstr "Fluchtsequenz außerhalb des Wertebereiches seines Typs"

#~ msgid "#import is obsolete, use an #ifndef wrapper in the header file"
#~ msgstr "#import ist veraltet, benutzen Sie einen #ifndef-Wrapper in der Header-Datei"

#~ msgid "#pragma once is obsolete"
#~ msgstr "#pragma once ist veraltet"

#~ msgid "%s: warnings being treated as errors\n"
#~ msgstr "%s: Warnungen als Fehler behandelt\n"

#~ msgid "At top level:"
#~ msgstr "Auf höchster Ebene:"

#~ msgid "In function `%s':"
#~ msgstr "In Funktion »%s«:"

#~ msgid ""
#~ "Please submit a full bug report,\n"
#~ "with preprocessed source if appropriate.\n"
#~ "See %s for instructions.\n"
#~ msgstr ""
#~ "Bitte senden Sie einen vollständigen Fehlerbericht auf Englisch ein;\n"
#~ "bearbeiten Sie die Quellen zunächst mit einem Präprozessor, wenn es\n"
#~ "dienlich ist.\n"
#~ "Fehler in der deutschen Übersetzung sind an de@li.org zu melden.\n"
#~ "\n"
#~ "Gehen Sie gemäß den Hinweisen in %s vor.\n"

#~ msgid "In file included from %s:%d"
#~ msgstr "In von %s:%d eingefügter Datei"

#~ msgid ""
#~ ",\n"
#~ "                 from %s:%d"
#~ msgstr ""
#~ ",\n"
#~ "                 von %s:%d"

#~ msgid "internal regno botch: `%s' has regno = %d\n"
#~ msgstr "interner RegNr-Fehler: »%s« hat RegNr = %d\n"

#~ msgid "support for the DWARF1 debugging format is deprecated"
#~ msgstr "Unterstützung für das DWARF1-Debugging-Format ist veraltet"

#~ msgid "unsupported wide integer operation"
#~ msgstr "breite Ganzzahloperation nicht unterstützt"

#~ msgid "mismatched braces in specs"
#~ msgstr "unpassende geschweifte Klammern in Spezifikation"

#~ msgid "Copyright (C) 2001 Free Software Foundation, Inc.\n"
#~ msgstr "Copyright © 2001 Free Software Foundation, Inc.\n"

#~ msgid "Could not open basic block file %s.\n"
#~ msgstr "Konnte einfache Blockdatei %s nicht öffnen.\n"

#~ msgid "Could not open program flow graph file %s.\n"
#~ msgstr "Konnte Programmflussgraphdatei %s nicht öffnen.\n"

#~ msgid "Could not open data file %s.\n"
#~ msgstr "Konnte Datei %s nicht öffnen.\n"

#~ msgid "Assuming that all execution counts are zero.\n"
#~ msgstr "Angenommen, dass alle Ausführungszähler null sind.\n"

#~ msgid "No executable code associated with file %s.\n"
#~ msgstr "Kein ausführbarer Code mit Datei %s verbunden.\n"

#~ msgid "didn't use all bb entries of graph, function %s\n"
#~ msgstr "nicht alle bb-Einträge des Graphen wurden benutzt, Funktion %s\n"

#~ msgid "block_num = %ld, num_blocks = %d\n"
#~ msgstr "block_num = %ld, num_blocks = %d\n"

#~ msgid "ERROR: unexpected line number %ld\n"
#~ msgstr "FEHLER: nicht erwartete Zeilennummer %ld\n"

#~ msgid "ERROR: too many basic blocks in function %s\n"
#~ msgstr "FEHLER: zu viele Basis-Blöcke in Funktion %s\n"

#~ msgid "ERROR: out of range line number in function %s\n"
#~ msgstr "FEHLER: Zeilennummer außerhalb des Wertebereiches in Funktion %s\n"

#~ msgid "Could not open source file %s.\n"
#~ msgstr "Konnte Quelldatei %s nicht öffnen.\n"

#~ msgid "Unexpected EOF while reading source file %s.\n"
#~ msgstr "Unerwartetes Dateiende beim Lesen der Quelldatei %s.\n"

#~ msgid "Creating %s.\n"
#~ msgstr "Erzeuge %s.\n"

#~ msgid "Name `%s' contains quotes"
#~ msgstr "Name »%s« enthält Anführungszeichen"

#~ msgid "invalid string `%s' in define_cpu_unit"
#~ msgstr "ungültige Zeichenkette »%s« in define_cpu_unit"

#~ msgid "invalid string `%s' in define_query_cpu_unit"
#~ msgstr "ungültige Zeichenkette »%s« in define_query_cpu_unit"

#~ msgid "invalid string `%s' in define_bypass"
#~ msgstr "ungültige Zeichenkette »%s« in define_bypass"

#~ msgid "invalid second string `%s' in exclusion_set"
#~ msgstr "ungültige zweite Zeichenkette »%s« in exclusion_set"

#~ msgid "invalid first string `%s' in presence_set"
#~ msgstr "ungültige erste Zeichenkette »%s« in presence_set"

#~ msgid "invalid second string `%s' in presence_set"
#~ msgstr "ungültige zweite Zeichenkette »%s« in presence_set"

#~ msgid "invalid first string `%s' in absence_set"
#~ msgstr "ungültige erste Zeichenkette »%s« in absence_set"

#~ msgid "invalid second string `%s' in absence_set"
#~ msgstr "ungültige zweite Zeichenkette »%s« in absence_set"

#~ msgid "invalid string `%s' in define_automaton"
#~ msgstr "ungültige Zeichenkette »%s« in define_automaton"

#~ msgid "invalid option `%s' in automata_option"
#~ msgstr "ungültige Option »%s« in automata_option"

#~ msgid "garbage after ) in reservation `%s'"
#~ msgstr "Müll hinter ) in Reservierung »%s«"

#~ msgid "invalid `%s' in reservation `%s'"
#~ msgstr "ungültiges »%s« in Reservierung »%s«"

#~ msgid "repetition `%s' <= 1 in reservation `%s'"
#~ msgstr "Wiederholung »%s« <= 1 in Reservierung »%s«"

#~ msgid "unit `%s' in exclusion is not declared"
#~ msgstr "Einheit »%s« ist nicht im Ausschluss deklariert"

#~ msgid "`%s' in exclusion is not unit"
#~ msgstr "»%s« im Ausschluss ist keine Einheit"

#~ msgid "unit `%s' excludes itself"
#~ msgstr "Einheit »%s« schließt sich selbst aus"

#~ msgid "units `%s' and `%s' in exclusion set belong to different automata"
#~ msgstr "Einheiten »%s« und »%s« in Ausschlussmenge gehören zu verschiedenen Automaten"

#~ msgid "unit `%s' excludes and requires presence of `%s'"
#~ msgstr "Einheit »%s« schließt »%s« aus und erfordert dessen Anwesenheit"

#~ msgid "unit `%s' requires absence and presence of `%s'"
#~ msgstr "Einheit »%s« erfordert die An- und Abwesenheit von »%s«"

#~ msgid "repeated declaration of automaton `%s'"
#~ msgstr "wiederholte Deklaration des Automaten %s"

#~ msgid "define_insn_reservation `%s' has negative latency time"
#~ msgstr "define_insn_reservation »%s« hat negative Latenzzeit"

#~ msgid "`%s' is already used as insn reservation name"
#~ msgstr "»%s« wurde bereits als insn Reservierungsname verwendet"

#~ msgid "define_bypass `%s - %s' has negative latency time"
#~ msgstr "define_bypass »%s - %s« hat negative Latenzzeit"

#~ msgid "define_unit `%s' without automaton when one defined"
#~ msgstr "define_unit »%s« ohne Automat trotz Automatendefinition"

#~ msgid "`%s' is declared as cpu unit"
#~ msgstr "»%s« wurde als CPU-Einheit deklariert"

#~ msgid "`%s' is declared as cpu reservation"
#~ msgstr "»%s« wurde als CPU-Reservierung deklariert"

#~ msgid "repeated declaration of unit `%s'"
#~ msgstr "wiederholte Deklaration der Einheit »%s«"

#~ msgid "repeated declaration of reservation `%s'"
#~ msgstr "wiederholte Deklaration der Reservierung »%s«"

#~ msgid "there is no insn reservation `%s'"
#~ msgstr "es gibt keine insn-Reservierung »%s«"

#~ msgid "the same bypass `%s - %s' is already defined"
#~ msgstr "die selbe Überbrückung »%s - %s« wurde bereits definiert"

#~ msgid "bypass `%s - %s' is already defined"
#~ msgstr "Überbrückung »%s - %s« wurde bereits definiert"

#~ msgid "undeclared unit or reservation `%s'"
#~ msgstr "nicht deklarierte Einheit oder Reservierung »%s«"

#~ msgid "unit `%s' is not used"
#~ msgstr "Einheit »%s« wird nicht verwendet"

#~ msgid "reservation `%s' is not used"
#~ msgstr "Reservierung »%s« ist unbenutzt"

#~ msgid "cycle in definition of reservation `%s'"
#~ msgstr "Zyklus in Definition der Reservierung »%s«"

#~ msgid "Units `%s' and `%s' should be in the same automaton"
#~ msgstr "Einheiten »%s« und »%s« sollten im selben Automat sein"

#~ msgid "-split has no argument."
#~ msgstr "-split hat kein Argument."

#~ msgid "option `-split' has not been implemented yet\n"
#~ msgstr "Option »-split« wurde noch nicht implementiert\n"

#~ msgid "Automaton `%s': Insn `%s' will never be issued"
#~ msgstr "Automat »%s«: Insn »%s« wird nie verwendet"

#~ msgid "Insn `%s' will never be issued"
#~ msgstr "Insn »%s« wird nie verwendet"

#~ msgid "Errors in DFA description"
#~ msgstr "Fehler in DFA-Beschreibung"

#~ msgid "Error in writing DFA description file %s"
#~ msgstr "Fehler beim Schreiben der DFA-Definitionsdatei %s"

#~ msgid "No input file name."
#~ msgstr "Kein Eingabedateiname."

#~ msgid "Profile does not match flowgraph of function %s (out of date?)"
#~ msgstr "Profil passt nicht zum Flussgraphen der Funktion %s (veraltet?)"

#~ msgid ".da file corrupted"
#~ msgstr ".da-Datei beschädigt"

#~ msgid "#`%s' not supported by %s#"
#~ msgstr "#»%s« wird von %s# nicht unterstützt"

#~ msgid "Copyright (C) 2002 Free Software Foundation, Inc.\n"
#~ msgstr "Copyright © 2002 Free Software Foundation, Inc.\n"

#~ msgid "I/O error on output"
#~ msgstr "Ein-/Ausgabefehler bei der Ausgabe"

#~ msgid ""
#~ "internal error in %s, at tradcpp.c:%d\n"
#~ "Please submit a full bug report.\n"
#~ "See %s for instructions."
#~ msgstr ""
#~ "Interner Fehler in %s bei tradcpp.c:%d\n"
#~ "Bitte senden Sie einen vollständigen Fehlerbericht\n"
#~ "auf Englisch ein; Fehler in der deutschen Übersetzung\n"
#~ "sind an de@li.org zu melden.\n"
#~ "Gehen Sie gemäß den Hinweisen in %s vor."
